过年回来开始新的学习生活~也许很长时间没有感受过太长的假期,或者一直处于紧张的学习生活中,猛然松掉这支皮筋,却不知道做些什么好,在家的时候就是看电影看电视刷微博,到最后是特别不踏实的感觉,觉得这段时间就像是躺在烟灰缸里的烟屁股,没有很多的意义。这不是我喜欢的生活,还是更爱忙碌吧~
回来以后看了一本《代码整洁之道》 的书,作者是Robert C.Martin
这一篇作为读书笔记,对知识进行梳理和总结
下边的思维导图是前7章的内容
(1)名副其实:变量、函数或类的名称应该答复了所有的大问题。如果名称需要注释来补充,就不算名副其实
(2)避免误导:程序员必须避免留下掩藏代码本意的错误线索。例如:accountList,List对程序员有特殊意义。除非他是List类型,要不然就会引起错误判断;提防使用不同之处较小的名称。区分模块中的XYZControllerForEfficientHandlingOfStrings和另一处XZYControllerForEfficientStorageOfStrings,会花费很长时间
(3)做有意义的区分:如果程序员知识为了满足编译器或解释器的需要而写代码,就会制造麻烦。例如因为同一范围内两样不同的东西不能重名,你可能会随手改掉其中一个名称。有事干脆以错误的拼写充数,结果就是出现在更正拼写错误后导致编译器出错的情况。 光是添加数字系列或是废话远远不够,(a1,a2,a3)以数字命名不能提供正确的信息,不能提供导向作者的意图的线索 废话:假设你有一个PRoduct类,还有一个ProductInfo或者ProductData类,他们虽然名称不同,意思却无区别 废话都是荣誉的。Table一次永远不应该出现在表名中。NameString会比Name好吗?难道姓名还能是浮点数?
(4)使用读的出来的名称:
(5)使用可搜索的名称:单字母名称和数字常量很难再一大篇文字中找出来。名称长短应与其作用域大小相对。
(6)避免思维映射:不应该让读者在脑中把你的名称翻译为他们数值的名称 (聪明程序员与专业程序员之间的区别在于,专业程序员了解:明确是王道)
(7)添加有意义的语境,不要添加没有意义的语境
新闻热点
疑难解答