- 软件研发效能提升之美
- 吴骏龙等
- 525字
- 2022-05-06 13:11:45
2.3.3 自解释编程
除了传统的语言沟通,代码恐怕是技术人员最高频交互的信息载体了。而且,代码的阅读次数远远高于编写的次数,也是一项不容忽视的成本。
自解释编程是基于代码层面的,我们希望达到的效能终态,能够依靠代码自身的命名规范和编程风格达到易于理解的目标,也能够在一定程度上避免“祖传代码”的痛苦。但对于自解释编程我们也应辩证地看待,切忌矫枉过正,抛弃所有注释和文档,会适得其反。
我们来看一个简单的例子:
![](https://epubservercos.yuewen.com/7B991C/23020637509731706/epubprivate/OEBPS/Images/42167-00-058-1.jpg?sign=1738913784-6Jxf97LwpLbEGzk7I7RkgWC5AZUlRD4J-0-85d0a235f93060efdebe85d920530513)
即便没有任何注释和文档,我们也可以从函数签名获悉,该方法是用来获取折扣值的,似乎非常直观。但其实这段代码的信息熵是非常低的,因为它没有给出任何有关实现背景的提示,如果这是一段“祖传”代码,你将被迫追溯所有与这段代码相关的方法,才能真正理解这段代码背后的设计思想。我们再来看一个例子:
![](https://epubservercos.yuewen.com/7B991C/23020637509731706/epubprivate/OEBPS/Images/42167-00-059-1.jpg?sign=1738913784-HgO8nrUfudq0WKQZslIQnT2BSAsms0p5-0-0b08b21bd876bb6d195db109b1fa3777)
逻辑是不是清晰多了?在绝大多数代码阅读的场景下,我们不仅希望了解这段代码的基本用途,更希望能快速获悉其内部逻辑,包括内部数据处理、程序流程,甚至是一些设计上的考量。当然,深挖代码最终也许能获得同样的信息,但这样会浪费很多时间和精力。
自解释的代码不是无注释和无文档的代码,而是伴随高信息熵的代码体系,内容简洁合理的注释与文档同样也是优秀代码的一部分,能够给效能的提升带来帮助。