跳转至

第 7 章:问题描述与排错 — 把“我不会”变成可执行问题

📋 本章概览

项目 内容
学习时长 8 分钟
核心概念 问题描述、最小复现、证据链、停止边界
核心比喻 小黄鸭不会回答,所以你必须把每一步说清楚
实践任务 用固定模板描述并排查一个“命令找不到”问题
难度等级 ★★☆☆☆

“小黄鸭原则”其实是在训练观察力

把问题讲给一只不会回答的小黄鸭听,迫使你从“它坏了”说到具体动作:我在哪个目录、输入了什么、看到了什么、原本期待什么。这个过程不是幼稚的自言自语,而是把脑内跳过的步骤重新放回桌面,很多错误会在描述时自己暴露出来。

对完全零基础的人来说,最重要的不是一次写出专业报错报告,而是形成固定顺序:先保留原始错误,再确认目录和版本,然后一次只改变一个条件。这样你可以把问题交给同学、老师或 Agent,也能判断对方给出的建议是否真的对应你的现象。

7.1 把问题讲清楚

想象你要向一只不会回答的小黄鸭解释问题。你不能说“它就是不行”,而要说清楚:我要做什么、我在哪个目录、我输入了什么、电脑原样返回了什么、我原本期待什么。

这不是卖萌,而是一种把模糊感觉变成证据链的排错方法。很多问题在你逐句解释时就已经暴露出原因:目录错了、命令拼错了、终端没有重启,或者你把警告误认为失败。

7.2 完全零基础的操作步骤

每次只做一步,结果不同就停下来记录:

  1. 打开 PowerShell 或终端,不要同时打开多个窗口。
  2. 复制一条命令,例如 python --version,按回车。
  3. 等命令结束,完整复制输出,不要只截取最后一行。
  4. 记录当前目录:PowerShell 执行 Get-Location,macOS/Linux 执行 pwd
  5. 对照“我想看到什么”:版本号、文件列表,还是一条成功提示?
  6. 如果结果不同,先不安装、不删除、不修改 PATH,进入下一节写问题卡片。

7.3 小黄鸭问题卡片

复制下面的模板,连同完整错误输出一起保存:

我想完成:例如检查 Python 是否安装
当前系统和终端:Windows 11 + PowerShell
当前目录:C:\Users\me\hello-node
我执行的原命令:python --version
实际输出:请粘贴完整内容
我期望看到:Python 版本号
我已经尝试:只执行过这一条命令
限制:不删除文件、不执行未知远程脚本
下一步:请先解释可能原因和检查命令,不要直接修改系统

7.4 一个可照抄的排错案例

现象:python --version 提示“不是内部或外部命令”。按顺序检查:

Get-Command python -ErrorAction SilentlyContinue
py --version
where.exe python

如果 py --version 成功而 python 失败,说明 Python 可能已安装但命令别名或 PATH 未配置一致。此时记录结果,重新打开终端,再查看第 1 章的 PATH 说明;不要立刻修改系统变量。

7.5 什么时候必须停止

遇到以下情况先停止并询问有经验的人:命令要求删除目录、覆盖配置、关闭安全防护、输入管理员密码、上传项目文件或暴露 API Key。排错的目标是缩小问题,不是为了“让它动起来”而牺牲数据和权限。

✅ 验证步骤

任选一个命令,完成一张问题卡片;让另一位同学只看卡片,能复现你的检查顺序并判断下一步。若不能,说明描述还缺少系统、目录、命令或完整输出。

📝 本章总结

  • 排错要求先把现象说完整,再提出解决方案。
  • 最小复现一次只改变一个变量,结果更容易解释。
  • 涉及删除、权限、密钥和外传数据时,停止边界优先于速度。

✏️ 课后练习

  1. 故意在错误目录执行 npm run format:check,用问题卡片解释现象。
  2. 把一条模糊提问“我的环境坏了”改写成包含证据的提问。

🔮 下一章预告

下一章会把所有工具串成一次完整验收,并学习如何区分安装问题、PATH 问题和项目依赖问题。