拿到《代码整洁之道》已经很久了,一直没时间来读。今天起床决定什么都不干,只输入不输出。拿起这本书开始读……
刚读完这本书的第一章就获益匪浅。里面有一句话说得非常好:这本书以详细到吓死人的程度介绍代码整洁之道。里面有太多太多的精髓之处,无法一一列举,这里只摘录我感触最深的。
Javadoc中的@author字段告诉我们自己是什么人。我们是作者。作者都有读者。实际上,作者有责任与读者做好良好的沟通。下次你写代码的时候记得自己是作者,要为评判你工作的读者写代码。
你或许会问:代码真正“读”的成分有多少呢?难道力量主要不是用在“写”上吗?
你是否玩过“编辑器回放”?20世纪80、90年代,Emac之类编辑器记录每次击键动作。你可以在一小时工作之后 ,回放击键过程,就像是看一部告诉电影。我这么做过,结果很有趣。
回放过程显示,多数时间都是在滚动屏幕浏览其他模块!
鲍勃进入模块。
他向下滚动到要修改的函数。
他停下来考虑可以做什么。
哦,他滚动到模块顶端,检查变量的初始化。
现在他回到修改处,开始键入。
喔,他删掉了键入的内容。
他重新键入。
他又删除了!
他键入了一半什么东西,又开始删除。
他滚动到调用要修噶函数的另一函数,看看是怎么调用的。
他回到修改处,修改键入刚才删掉的代码。
他停下来。
他再一次删掉代码!
他打开另一个窗口,查看别的子类。那是个负载函数吗?
……
你该明白了。读与写话费时间的比例超过10:1。写新代码时,我们一直在读旧代码。
既然比例如此之高,我们就想让读的过程变得轻松,即便那会使得编写过程更难。没可能光写不读,所以使之易读实际也使之易写。
这事概无例外。不读周边代码的话就没法写代码。编写代码的难度,取决于周边代码的难度。要想干得快,要想早点做完,要想轻松写代码,先让代码易读吧。
——摘自Robert C. Martin的《Clean Code》韩磊译
我是一个编码才一年半的学生,发现自己的代码制造的混乱让本来就紧张的项目进度更加紧张。读写时间比例的确超乎自己的想象。我要好好读完这本书,在博客园记下自己感触最深的片段。希望我能在紧张的输出中找出时间将输入能坚持下来。