天天看点

《代码整洁之道》—第1章1.5节我们是作者

本节书摘来自异步社区《代码整洁之道》一书中的第1章1.5节我们是作者,作者【美】robert c. martin,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 我们是作者

javadoc中的@author字段告诉我们自己是什么人。我们是作者。作者都有读者。实际上,作者有责任与读者做良好沟通。下次你写代码的时候,记得自己是作者,要为评判你工作的读者写代码。

你或许会问:代码真正“读”的成分有多少呢?难道力量主要不是用在“写”上吗?

你是否玩过“编辑器回放”?20世纪80、90年代,emac之类编辑器记录每次击键动作。你可以在一小时工作之后,回放击键过程,就像是看一部高速电影。我这么做过,结果很有趣。

回放过程显示,多数时间都是在滚动屏幕、浏览其他模块!

鲍勃进入模块。

他向下滚动到要修改的函数。

他停下来考虑可以做什么。

哦,他滚动到模块顶端,检查变量初始化。

现在他回到修改处,开始键入。

喔,他删掉了键入的内容。

他重新键入。

他又删除了!

他键入了一半什么东西,又删除掉。

他滚动到调用要修改函数的另一函数,看看是怎么调用的。

他回到修改处,重新键入刚才删掉的代码。

他停下来。

他再一次删掉代码!

他打开另一个窗口,查看别的子类。那是个复载函数吗?

……

你该明白了。读与写花费时间的比例超过10:1。写新代码时,我们一直在读旧代码。

既然比例如此之高,我们就想让读的过程变得轻松,即便那会使得编写过程更难。没可能光写不读,所以使之易读实际也使之易写。

这事概无例外。不读周边代码的话就没法写代码。编写代码的难度,取决于读周边代码的难度。要想干得快,要想早点做完,要想轻松写代码,先让代码易读吧。