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

你的产出不再是【我怎么写出来】,而是【我要什么、怎么算对】;注意力从代码细节搬到要求细节,返工次数会断崖式下降。

📝 本节和前面几节的关系

前两节让你做出了东西,这一节讲比技术更重要的一件事:你在整个过程中的角色变了。

一、四个环节,你真正该想的是什么

想清楚要什么——你要的是结果,不是写法。别一上手就想代码怎么组织。 动手——动手指的是把要求说清楚,不是逐行敲键盘。 出问题时——别逐个修语法错误,回头看要求里哪句没说死。 验收——对照第 2.6 节那四件套,尤其最后那句【怎么算做对了】。

二、为什么这个转变值钱:算一笔返工的账

假设一件事一次做对的概率是六成。三个来回才对的概率是 0.6 的三次方——不到四分之一。 每一次返工半小时,四个来回就是两小时。 而如果把这半小时花在把要求写清楚上,通常一次就对。时间的差距不在执行,在事前。

三、转变之后,你的水平体现在哪

体现在能不能把一件事说清楚:做什么、范围在哪、不要什么、怎么算对。 这件事看着朴素,但它是唯一你能不断提高、而它无法替你完成的那一环。 下一节讲的就是这件事的具体手法。

四、动手 Demo:一个重要的心态转变

下面把四个环节的【你以为 vs 实际】摆开,再算一笔返工的账。

ok = 1.0
for i in range(1, 5):
    ok *= 0.6
    P(u"    第 %d 轮才做对:%.4f" % (i, ok))

实跑输出:

--------------------------------------------------------------------
一个重要的心态转变
--------------------------------------------------------------------

新手最大的浪费,是把注意力全放在【怎么写出来】上。看看两边的账:

  环节             以为自己要干的     实际要干的
  ----------------------------------------------------------
  想清楚要什么     想代码怎么写       想清楚要什么
  动手             一行行敲           把要求说清楚
  出问题时         逐个语法错误修     回头看要求哪里没说死
  验收             能跑就行           对照第 2.6 节那四件套

再算一笔返工的账。假设一件事的正确率是六成:

    第 1 轮才做对:0.6000
    第 2 轮才做对:0.3600
    第 3 轮才做对:0.2160
    第 4 轮才做对:0.1296

如果每次返工要半小时,四个来回就是两小时——**而把这半小时花在把要求写清楚上,通常一次就对**。
所以真正的转变是:从【我怎么写出来】换成【我要什么、怎么算对】。

四个来回之后概率只剩 0.1296——返工到第四次,成功基本靠运气了。 所以那句结论不绕弯:把这半小时花在事前,比花在事后便宜得多。

30 秒实验

  1. 回想最近一次返工:当时是去改要求,还是去改代码?
  2. 把手上一个待办按四件套写出来,交给它试一次,比较一次做对的概率。

常见误区

  1. 以为转变意味着【不用管技术了】。恰恰相反——技术判断没消失,只是从写代码移到了定标准和验收。
  2. 把【写清楚要求】当成一次性动作。写要求本身就是一项要反复练的技能。
自测三问(点开对答案) 1. 心态转变的核心是什么? —— 你的产出从【我怎么写出来】变成【我要什么、怎么算对】。 2. 为什么把时间花在事前更值? —— 六成正确率下四个来回只剩不到一成的把握,而把要求写清楚通常一次就对。 3. 转变之后水平体现在哪? —— 体现在能不能把一件事说清楚——这是它无法替你完成的那一环。

相关笔记