🧩 第十二章 熟练掌握面向对象
📄 一句话概括

全书 12 章里 8 章没有标准答案(67%)——语法学完就完了,判断要一直练;这本书真正的产出不是知识,是一套判断的习惯。

📝 本节和前面几节的关系

12.4 讲了怎么选,这一节是全书的收尾:把 12 章按【有没有标准答案】分一遍。

一、实测:12 章里 8 章没有标准答案

有标准答案的 4 章:编程语言历史、类与继承的实现、内存怎么放、UML 记号。 要自己判断的 8 章:面向对象是什么、像不像现实、怎么重用、怎么归纳、怎么建模、怎么设计、怎么组织流程、怎么用工具。 占比 67%。 注意这不是说前 4 章简单——是说它们有对错,查得到;后 8 章只有权衡,查不到。

二、【需要动脑】的量化含义

不是难,难的东西学会就不难了。 是没有唯一解:同一个需求,三种写法都对;同一支团队,四种流程都能用。 所以只能权衡:权衡就需要判断,判断就要动脑,而且练不完。 这也解释了为什么有人写十年还是原地:语法两年就学完,剩下八年全在练判断。

三、这本书真正的产出

不是记住 12 章的名词——那些会忘、也会过时。 是一套判断的习惯:先问【会不会一起改】、先问【谁该知道这件事】、先问【这地方以后会不会来人加东西】。 判定标准只有一条:你写的东西,别人改得动吗。 能改得动,就是好设计——不管用了几个模式、画了几张图。

四、动手 Demo:享受需要动脑的软件开发

把全书 12 章按【有没有标准答案】分一遍。 数出两边各几章。

rows = [("第 1 章", "面向对象是什么", "要判断"),
        ("第 3 章", "编程语言的历史", "有标准答案"),
        ("第 4 章", "类/继承/多态", "有标准答案"),
        ("第 5 章", "内存怎么放", "有标准答案"),
        ("第 8 章", "UML 记号", "有标准答案"),
        ("第 10 章", "怎么设计", "要判断")]

fixed = sum(1 for a, b, c in rows if c == "有标准答案")
print(len(rows), fixed, len(rows) - fixed)   # 12 4 8

实跑输出:

--------------------------------------------------------------------
享受需要动脑的软件开发
--------------------------------------------------------------------

  把全书 12 章按【有没有标准答案】分一遍:

  章           讲什么             有没有标准答案
  -----------------------------------------------
  第 1 章      面向对象是什么     要判断
  第 2 章      似不似现实世界     要判断
  第 3 章      编程语言的历史     有标准答案
  第 4 章      类/继承/多态     有标准答案
  第 5 章      内存怎么放         有标准答案
  第 6 章      怎么重用           要判断
  第 7 章      怎么归纳           要判断
  第 8 章      UML 记号           有标准答案
  第 9 章      怎么建模           要判断
  第 10 章     怎么设计           要判断
  第 11 章     怎么组织流程       要判断
  第 12 章     怎么用工具         要判断

      全书章数                    12 章
      有标准答案                  4 章
      要自己判断                  8 章
      要判断的占比                67%

  **12 章里有 8 章没有标准答案**——**语法学完就完了,判断要一直练。**
  **这正是【需要动脑】的量化含义**:不是难,是**没有唯一解,只能权衡。**
  **所以这本书真正的产出不是知识,是一套判断的习惯**——
  **判定标准只有一个:你写的东西,别人改得动吗。**

实测:12 章里 4 章有标准答案、8 章要自己判断,占 67%。 语法学完就完了,判断要一直练——这是【需要动脑】的量化含义。 判定标准只有一条:你写的东西,别人改得动吗。

30 秒实验

  1. 把你这一年写过的东西按【改得动/改不动】分一遍,数一数比例。
  2. 挑一个【改不动】的地方,用本书任意一条判据重看一遍。

常见误区

  1. 把【学会语法】当成【学会开发】。语法有答案,设计没有。
  2. 追求唯一正确的设计。没有唯一正确,只有当下权衡得更好。
自测三问(点开对答案) 1. 12 章里有几章没有标准答案? —— 8 章,占 67%。 2. 【需要动脑】的准确含义? —— 不是难,是没有唯一解、只能权衡,而且练不完。 3. 全书唯一那条判定标准? —— 你写的东西,别人改得动吗;能改得动就是好设计。

相关笔记