【复盘迭代】我今天尝试了一种新代码阅读手段
- 具体操作:
- STEP1: 看懂一行,就给一行写注释。
- STEP2: 读懂的代码立刻输出到注释中,而不是一直记在脑子里无谓的占用思维容量
- STEP3: 当你通读全部代码,进行完一整轮 “代码意图翻译” 之后,再次通篇阅读一次。
- 这次阅读不是读代码,而是只读你刚刚写的注释。将每一行的意图串联起来,组织成整篇代码的全貌。
- 换句话说,此时可以开始进行 “逆向” 领域建模了。可以基于每一句的意图,提炼出代码领域模型。
原则:
- 此代码阅读法,符合 “直观降难” 原则。
复盘:
- 我发现任何一行代码都可以分为 “意图” 和 “实现手段” 两个部分。
- “实现手段” 往往比较复杂。而 “意图” 往往非常简单。
- 我要提取出每段代码的 “意图”,将简单的线索串联在一起,才能理解复杂庞大的代码。
效果:
- 那种100多行,极长的代码通过这种阅读方法,可以说是迎刃而解。
- 针对屎山代码特别有效。
- 因为【屎山】往往是核心思想简单,但是实现手段极为复杂的代码。
- 屎山包含大量无用判断条件,没有整理过的深层if循环,无意义的取值设值造成的复杂数据流,极其深层的复杂取值,毫无类型推断的函数调用等等。
- 通过上述手段,把每一行代码的 “意图” 提取出来,其实屎山是很好读的。