🧡 第三章 你的第一个项目
📄 一句话概括

项目做到一半的五类症状:改完跑不起来、做到一半停了、结果和想的不一样、改了没让改的、越改越多;解法都是回到要求上,一次只改一处。

📝 本节和前面几节的关系

上一节讲配合手法,这一节是本章的实战急救包——只管【做了一半】的阶段。

一、症状一:改完跑不起来

多半是这次改动引入了新问题。解法先退回上一版能跑的状态,再一次只改一处重做。 关键是那个【上一版能跑的状态】——所以第 2.7 节体检第五项(干净、能回退)在这里兑现价值。

二、症状二:做到一半停了

通常因为任务太大或上下文太长,后半段它已经忘了前面。 解法是拆小,重新交代一次。拆完之后记得补上前面已经做完的结论,省得重复。

三、症状三:结果和想的不一样

它不报错、不慢、就是不对——多半是验收标准当初没写死。 解法不是重做,是补一句【怎么算做对了】,然后让它自查一遍。 这类问题看起来像它能力不行,其实是需求没写完。

四、症状四与五:改多了、改乱了

改了没让改的:负面约束漏了。补一句【不要动什么】,必要时让它先列清单再动手。 越改越多:范围没划住。停下来说清楚只要哪一处,其余先不动。

五、和第 2.8 节那张表的关系

第 2.8 节那张管装好之前(找不到命令、没登录),这张管做一半。 两表共同点还是那一句:先认症状,一次只改一处。 而这两张表最有效的一招,其实不在表里——退回上一版能跑的状态。

六、动手 Demo:项目阶段的排错指南

下面把做到一半时的五类症状排成表。

rows = [("改完跑不起来", "改动引入新问题", "退回上一版,再一次只改一处"),
        ("做到一半停了", "任务太大或上下文太长", "拆小,重新交代一次"),
        ("结果和想的不一样", "验收标准没写死", "补一句怎么算做对了"),
        ("改了我没让改的", "负面约束漏了", "补不要动什么"),
        ("越改越多", "范围没划住", "停下,说清只要哪一处")]

实跑输出:

--------------------------------------------------------------------
项目阶段的排错指南
--------------------------------------------------------------------

这是第 2.8 节之后、**项目做了一半**时的对照表:

  症状                 多半是                   怎么办
  -------------------------------------------------------------------------------------
  改完跑不起来         改动引入了新问题         先退回上一版能跑的状态,再一次只改一处
  做到一半停了         上下文太长或任务太大     拆小,重新交代一次
  结果和想的不一样     验收标准当初没写死       补一句【怎么算做对了】,让它自查
  它改了我没让改的     负面约束漏了             补【不要动什么】,必要时让它先列清单
  越改越多             范围没划住               停下,说清只要哪一处,其余先不动

和第 2.8 节那张表的关系:那张管**装好之前**,这张管**做一半**。
共同点还是那句:**先认症状,一次只改一处。**

第三行值得单独记住:做完不对,不是它笨,是你没定义什么叫对。 五行的解法都指向同一处——回到要求上去修,而不是回到代码里去修。

30 秒实验

  1. 把这张表存成便签贴在终端旁边;做项目时对照着用。
  2. 下次卡住时,先问自己一句:这是症状里的哪一类?

常见误区

  1. 对着症状硬改代码。五行的解法没有一行是改代码,全在要求这边。
  2. 不回退就继续往前改。先回到能跑的状态,否则你不知道问题出在哪一步。
自测三问(点开对答案) 1. 【结果和想的不一样】多半是什么原因? —— 验收标准当初没写死,补一句【怎么算做对了】再让它自查。 2. 两套排错表分别管什么? —— 第 2.8 节管装好之前,本节管做了一半;共同点是先认症状、一次只改一处。 3. 最有效的那一招其实不在表里,是什么? —— 退回上一版能跑的状态——这正是第 2.7 节体检第五项的价值。

相关笔记