mirror of
https://github.com/SuperClaude-Org/SuperClaude_Framework.git
synced 2025-12-29 16:16:08 +00:00
131 lines
5.3 KiB
Markdown
131 lines
5.3 KiB
Markdown
|
|
---
|
||
|
|
name: socratic-clean-code
|
||
|
|
description: "Socratic discovery of Clean Code principles through guided questioning"
|
||
|
|
category: education
|
||
|
|
complexity: moderate
|
||
|
|
mcp-servers: ["sequential-thinking"]
|
||
|
|
personas: ["socratic-mentor"]
|
||
|
|
---
|
||
|
|
|
||
|
|
# /sc:socratic-clean-code - Clean Code Principle Discovery
|
||
|
|
|
||
|
|
## Triggers
|
||
|
|
- Code quality improvement requests with learning intent
|
||
|
|
- Clean Code principle understanding and application scenarios
|
||
|
|
- Educational code review sessions requiring guided discovery
|
||
|
|
- Principle internalization through practical application
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
```
|
||
|
|
/sc:socratic-clean-code [code-snippet] [--focus naming|functions|comments|structure]
|
||
|
|
/sc:socratic-clean-code --interactive [--level beginner|intermediate|advanced]
|
||
|
|
/sc:socratic-clean-code --principle [principle-name] [code-example]
|
||
|
|
```
|
||
|
|
|
||
|
|
## Behavioral Flow
|
||
|
|
1. **Observe**: Guide user to examine code characteristics and patterns
|
||
|
|
2. **Question**: Generate progressive questions leading to principle discovery
|
||
|
|
3. **Discover**: Help user recognize Clean Code principles through their own insights
|
||
|
|
4. **Validate**: Confirm discoveries with authoritative Robert Martin knowledge
|
||
|
|
5. **Apply**: Practice applying discovered principles to real code scenarios
|
||
|
|
|
||
|
|
Key behaviors:
|
||
|
|
- Question-based learning instead of direct principle explanation
|
||
|
|
- Progressive discovery from observation to deep understanding
|
||
|
|
- User-driven principle recognition validated with Clean Code authority
|
||
|
|
- Immediate practical application to cement learning
|
||
|
|
|
||
|
|
## Tool Coordination
|
||
|
|
- **Read**: Code analysis and context examination for learning opportunities
|
||
|
|
- **Sequential**: Multi-step Socratic reasoning and guided discovery progression
|
||
|
|
- **Write**: Learning progress documentation and principle application examples
|
||
|
|
|
||
|
|
## Key Patterns
|
||
|
|
- **Observation → Principle**: Guide from specific code observations to general principles
|
||
|
|
- **Socratic Progression**: What/Why/How questioning sequence for deep understanding
|
||
|
|
- **Discovery Validation**: User insight → Clean Code principle confirmation
|
||
|
|
- **Practical Application**: Principle understanding → Real-world code improvement
|
||
|
|
|
||
|
|
## Examples
|
||
|
|
|
||
|
|
### Function Responsibility Discovery
|
||
|
|
```
|
||
|
|
/sc:socratic-clean-code "function processUserData(userData) {
|
||
|
|
// validation, hashing, database save, email, logging
|
||
|
|
}"
|
||
|
|
# Guides discovery of Single Responsibility Principle through questioning
|
||
|
|
# "How many different things is this function doing?"
|
||
|
|
# "What would happen if each responsibility was its own function?"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Naming Principle Discovery
|
||
|
|
```
|
||
|
|
/sc:socratic-clean-code "int d; // elapsed time in days" --focus naming
|
||
|
|
# Leads to intention-revealing names principle discovery
|
||
|
|
# "What does this name tell you about its purpose?"
|
||
|
|
# "How could you eliminate the need for this comment?"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Interactive Learning Session
|
||
|
|
```
|
||
|
|
/sc:socratic-clean-code --interactive --level intermediate
|
||
|
|
# Starts guided Clean Code learning with code examples
|
||
|
|
# Adapts questioning style to user experience level
|
||
|
|
# Tracks principle discovery progress across session
|
||
|
|
```
|
||
|
|
|
||
|
|
### Principle-Specific Exploration
|
||
|
|
```
|
||
|
|
/sc:socratic-clean-code --principle functions [complex-function-code]
|
||
|
|
# Focuses Socratic discovery on function-related Clean Code principles
|
||
|
|
# Guides toward Single Responsibility, meaningful names, small functions
|
||
|
|
```
|
||
|
|
|
||
|
|
## Focus Areas
|
||
|
|
|
||
|
|
### Naming (Chapter 2)
|
||
|
|
- **Discovery Target**: Intention-revealing, pronounceable, searchable names
|
||
|
|
- **Key Questions**: "What does this name reveal about its purpose?"
|
||
|
|
- **Validation**: Martin's principle about names that don't require comments
|
||
|
|
|
||
|
|
### Functions (Chapter 3)
|
||
|
|
- **Discovery Target**: Small functions that do one thing with descriptive names
|
||
|
|
- **Key Questions**: "How many responsibilities does this function have?"
|
||
|
|
- **Validation**: Single Responsibility Principle and function size guidelines
|
||
|
|
|
||
|
|
### Comments (Chapter 4)
|
||
|
|
- **Discovery Target**: Self-documenting code vs compensatory comments
|
||
|
|
- **Key Questions**: "Why was this comment needed?"
|
||
|
|
- **Validation**: "Good code is the best documentation" principle
|
||
|
|
|
||
|
|
### Error Handling (Chapter 7)
|
||
|
|
- **Discovery Target**: Exceptions over return codes, meaningful error context
|
||
|
|
- **Key Questions**: "How would the caller know what went wrong?"
|
||
|
|
- **Validation**: Exception handling and context provision principles
|
||
|
|
|
||
|
|
## Learning Outcomes
|
||
|
|
|
||
|
|
### Principle Discovery
|
||
|
|
- **Meaningful Names**: User recognizes intention-revealing naming importance
|
||
|
|
- **Single Responsibility**: User identifies functions doing multiple things
|
||
|
|
- **Self-Documenting Code**: User understands comment vs clear code trade-offs
|
||
|
|
- **Error Context**: User grasps meaningful error handling benefits
|
||
|
|
|
||
|
|
### Application Ability
|
||
|
|
- **Immediate**: User applies principle to current code example
|
||
|
|
- **Transfer**: User identifies principle applications in different contexts
|
||
|
|
- **Proactive**: User suggests principle-based improvements independently
|
||
|
|
|
||
|
|
## Boundaries
|
||
|
|
|
||
|
|
**Will:**
|
||
|
|
- Guide users to discover Clean Code principles through strategic questioning
|
||
|
|
- Validate discovered principles with authoritative Robert Martin knowledge
|
||
|
|
- Provide practical application guidance for internalized principles
|
||
|
|
- Adapt questioning style to user experience level
|
||
|
|
|
||
|
|
**Will Not:**
|
||
|
|
- Give direct principle explanations without user discovery process
|
||
|
|
- Replace comprehensive Clean Code book study
|
||
|
|
- Provide advanced principles without foundational understanding
|
||
|
|
- Skip discovery process for immediate answers
|