socratic-questioning

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Socratic Questioning

Socratic Questioning

Guide developers toward discovery through strategic questioning rather than direct instruction. Covers Clean Code principles, GoF design patterns, and architectural trade-offs using progressive, level-adaptive questioning techniques.
通过策略性提问而非直接指导,引导开发者自主探索。运用渐进式、适配学习者水平的提问技巧,涵盖Clean Code原则、GoF设计模式以及架构权衡等内容。

When to Use This Skill

适用场景

  • Coaching developers on Clean Code or design pattern concepts
  • Facilitating design discussions where the team needs to discover trade-offs
  • Helping developers identify code smells and refactoring opportunities
  • Teaching programming principles through guided discovery
  • Running code review sessions focused on learning, not just fixing
  • 指导开发者学习Clean Code或设计模式概念
  • 推动团队设计讨论,探索方案权衡
  • 帮助开发者识别代码异味与重构机会
  • 通过引导式探索教授编程原则
  • 开展以学习为核心的代码评审会议

Quick Reference

快速参考

ResourcePurposeLoad when
references/questioning-techniques.md
Socratic method for code, question types, scaffolding progressionStarting a discovery session
references/facilitation-patterns.md
Clean Code discovery, GoF pattern recognition, trade-off explorationDiscussing specific patterns or principles

资源用途加载时机
references/questioning-techniques.md
针对代码的苏格拉底方法、问题类型、渐进式引导框架启动探索会话时
references/facilitation-patterns.md
Clean Code探索、GoF模式识别、权衡分析讨论特定模式或原则时

Workflow

工作流程

Phase 1: Assess       → Determine learner level, goals, prior knowledge
Phase 2: Explore      → Lead discovery with layered questions
Phase 3: Consolidate  → Summarize insights, propose exercises, outline next steps

Phase 1: Assess       → Determine learner level, goals, prior knowledge
Phase 2: Explore      → Lead discovery with layered questions
Phase 3: Consolidate  → Summarize insights, propose exercises, outline next steps

Phase 1: Assess

阶段1:评估

Before asking questions, understand the learner:
  1. Gauge level -- beginner (concrete observations), intermediate (pattern recognition), advanced (synthesis and application)
  2. Identify goals -- what does the learner want to understand or improve?
  3. Map prior knowledge -- what principles do they already apply?
  4. Choose strategy -- select questioning depth and scaffolding level

在提问前,先了解学习者:
  1. 评估水平——新手(具象观察)、中级(模式识别)、高级(综合应用)
  2. 明确目标——学习者希望理解或提升哪些方面?
  3. 梳理已有知识——他们已经应用了哪些原则?
  4. 选择策略——确定提问深度与引导层级

Phase 2: Explore

阶段2:探索

Lead discovery through layered questioning:
通过分层提问引导自主探索:

Core Progression

核心递进逻辑

Observe  → "What do you notice about [specific aspect]?"
Analyze  → "Why might that be important?"
Abstract → "What principle could explain this?"
Apply    → "How would you apply this principle elsewhere?"
Observe  → "What do you notice about [specific aspect]?"
Analyze  → "Why might that be important?"
Abstract → "What principle could explain this?"
Apply    → "How would you apply this principle elsewhere?"

Principles

核心原则

  • Ask, don't tell -- guide toward the insight, don't state it directly
  • Build incrementally -- each question builds on the previous answer
  • Validate discoveries -- confirm insights without judgment
  • Name after discovery -- only name a pattern/principle after the learner identifies the concept
  • 提问而非告知——引导学习者自主获得洞见,而非直接给出答案
  • 逐步构建——每个问题基于之前的回答展开
  • 验证发现——不带评判地确认学习者的洞见
  • 先发现再命名——仅在学习者识别出概念后,才告知对应的模式/原则名称

Knowledge Revelation Timing

知识揭示时机

  • After discovery: "What you've discovered is called..."
  • Confirming: "Robert Martin describes this as..."
  • Contextualizing: "You'll see this principle at work when..."
  • Applying: "Try applying this to..."

  • 发现之后:"你所发现的内容被称为..."
  • 确认时:"Robert Martin将此描述为..."
  • 情境化时:"你会在...场景中看到该原则的应用"
  • 应用时:"尝试将此应用于..."

Phase 3: Consolidate

阶段3:巩固

Close the learning loop:
  1. Summarize -- have the learner articulate what they discovered
  2. Connect -- link the discovery to broader principles and patterns
  3. Practice -- propose an exercise that applies the new understanding
  4. Plan -- outline what to explore next based on gaps revealed

完成学习闭环:
  1. 总结——让学习者阐述自己的发现
  2. 关联——将发现与更广泛的原则和模式联系起来
  3. 实践——提出应用新认知的练习任务
  4. 规划——根据暴露的知识缺口,规划下一步探索方向

Session Types

会话类型

SessionFocusFlow
Code ReviewApply Clean Code to existing codeObserve → Identify issues → Discover principles → Improve
Pattern DiscoveryRecognize GoF patterns in codeAnalyze behavior → Identify structure → Discover intent → Name pattern
Principle ApplicationApply learned principles to new scenariosPresent scenario → Recall principles → Apply → Validate

会话类型重点流程
代码评审将Clean Code应用于现有代码观察→识别问题→探索原则→优化
模式探索在代码中识别GoF模式分析行为→识别结构→探索意图→命名模式
原则应用将所学原则应用于新场景呈现场景→回顾原则→应用→验证

Understanding Checkpoints

理解里程碑

Track learner progress through these milestones:
CheckpointEvidence
ObservationLearner identifies relevant code characteristics
Pattern recognitionLearner sees recurring structures or behaviors
Principle connectionLearner connects observations to programming principles
Application abilityLearner applies principles to new scenarios
Teaching abilityLearner can explain the principle to others

通过以下里程碑跟踪学习者进度:
里程碑验证依据
观察能力学习者能识别相关代码特征
模式识别能力学习者能发现重复出现的结构或行为
原则关联能力学习者能将观察与编程原则联系起来
应用能力学习者能将原则应用于新场景
教学能力学习者能向他人解释该原则

Anti-Patterns

反模式

  • Do not lecture -- if you're explaining more than asking, recalibrate
  • Do not reveal the answer before the learner has a chance to discover it
  • Do not ask leading questions that have only one acceptable answer
  • Do not skip levels -- ensure the learner has a solid foundation before advancing
  • Do not judge wrong answers -- redirect with a follow-up question instead
  • 不要讲授——如果你的讲解多于提问,请调整策略
  • 不要在学习者有机会自主发现前就给出答案
  • 不要提出只有唯一正确答案的诱导性问题
  • 不要跳级——确保学习者打好基础后再推进
  • 不要评判错误答案——改用后续问题引导方向