程序员修炼之道阅读笔记03
本次阅读了程序员修炼之道最后几章内容,书中再次提到了“注重实效的程序员”,以及开发文档的重要性。
在典型情况下,开发者不会太关注文档。在最好的情况下。它是一件例霉的差事:在最坏的情况下,它就会被当作低优先级的任务,希望管理部门会在项目结束时忘掉它。
注重实效的程序员会把文档当作整个开发过程的完整组成部分加以接受。不进行重复劳动、不浪费时间,并且把文档放在手边(如果可能)。就放在代码本身当中,文档的撰写就可以变得更容易。这些并不完全是独创的或新奇的想法:把代码和文档紧密地结合在一起的思想早已出现: Donald Knuth关于literate programming (把像TeX这样的文本格式化语言和传统的编程语言结合在一起,使文档和源码保持在一起的编程方式 )的著作,在Sun公司的JavaDoc实用程序,还有其他一些地方我们想要对代码和文档之间的分叉轻描淡写。而把它们当作同一模型的两个视图对待。事实上,我们想要再向前走一小步,既把我们的所有注重实效的原则应用于文档,也把它们应用于代码。
同样代码中的注释也很重要。
根据源码中的注释和声明产牛格式化文档相当直截了当,但首先我们必须确保在代码中确实有注释。代码应该有注释,但我认为太多的注释可能和太少一样糟
一般而言,注释应该讨论为何要做某事、它的目的和目标代码已经说明 了它是怎样完成的,所以再为此加上注释是多余的——而 且违反了DRY原则。
注释源码给你了完美的机会,让你太把项月的那些难以描述、容易忘记,却又不能记载在别的任何地方的东西记载下来: 工程上的权衡、为何要做出某些决策、放弃了哪些替代方案,等等
我们喜欢看到简单的模块级头注释、关于重要数据与类型声明的注释、以及给每个类和每个方法所加的简要头注释。用以描述兩数的用法和任何不明了的事情。
希望以后在写代码的时候时常问自己,是否真的有必要加这个注释。以上便是我对本书最后几章的相关感悟。