《代码整洁之道》读书笔记

代码整洁之道


稍后等于永不(Later equals never)

整洁的代码只做好一件事,代码只讲述事实,不引人猜测。在意代码重复,有意义的命名,小规模抽象


*命名

一旦发现有更好的名称,就换掉旧的

只是为了满足编译器或解释器的需要而写代码,就会制造麻烦。(以数字系列,或废话ProductInfo或ProductData的区间,没区别)

使用读得出来的名称

使用可搜索的名称

代码读得越多,眼中越没有前缀m_, g_, 

避免思维映射,明确是王道

类名和对象名应该是名词或名词短语,不应该是动词;

方法名应该是动词或动词短语

给每个抽象概念选一个词,并且一以贯之

别用双关语add,insert,append

给这些事取个技术性的名称通常是最靠谱的做法;或采用源自问题领域的名称


**函数

函数的第一规则是要短小(一页面20封顶为佳,3-5行的代码最好注释都不用写)

if..else,while,for语句中的代码块应该只有一行,将switch语句埋到抽象工厂底下

只做一件事

最理想的参数个数是0,其实是1,2,3。不超过3  

应避免使用输出参数。如果函数必须要修改某种状态,就修改所属对象的状态

依赖磁铁

DRY原则

写代码很像写别的东西。先想写什么就写什么,然后再打磨它。



***注释

滥用标记栏,就会沉没在背景噪音中,被忽略掉

发现自己想标记右括号,其实应该做的是缩短函数

直接把代码注释掉是讨厌的做法。别这么干!(源代码管理


****格式

空白行隔开概念,而靠近的代码行则暗示了它们之间的紧密关系

尽力保持代码行短小


******对象和数据结构

过程式代码难以添加新数据结构,因为必须修改所有函数。面对对象代码难以添加新函数,因为必须修改所有类

模块不应了解它所操作对象的内部情形


******错误处理

返回NULL,基本上是给自己增加工作量,也是给调用者添乱,只要一处没有检查NULL值,应用程序就会失控(返回枚举的错误标识情况?


运行所有测试,

不可重复,

表达了程序员的意图,

尽可能减少类和方法的数量

“小规模复用”可大量降低系统复杂性


你可能感兴趣的:(数据结构,null,equals,读书,insert,编译器)