第三章代码的坏味道

来源:互联网 发布:美拍怎样传淘宝链接 编辑:程序博客网 时间:2024/04/29 13:42

3.1Duplicated Code(重复代码)

如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们合而为一,程序会变得更好。

同一个类的两个函数含有相同的表达式。

两个互为兄弟的子类内含相同表达式。

两个毫不相关的类出现重复代码。

3.2long method(过长函数)

间接层所带来的全部利益都是由小型函数支持的。

原则:每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途命名。

如何确定提炼那一段代码?寻找注释。它们通常能指出代码用途和实现手法之间的语义距离。

条件表达式和循环常常也是提炼的信号。

3.3large class(过大的类)

3.4long parameter (过长参数列)

3.5divergent change(发散式变化)

3.6shotgun surgery(散弹式修改)

3.7feature envy(依恋情结)

3.8data clumps(数据泥团)

3.9primitive obsession(基本类型偏执)

3.10switch statements(switch惊悚现身)

3.11paramllel inheritance hierarchies(平行继承体系)

3.12lazy class(冗赘类)

3.13speculative generality(夸夸其谈未来性)

3.14temporary field(令人迷惑的暂时字段)

3.15message chains(过度耦合的消息链)

3.16middle man(中间人)

3.17inappropriate intimacy(狎昵关系)

3.18alternative classes with different interfaces(异曲同工的类)

3.19incomplete library class(不完美的库类)

3.20data class(纯稚的数据类)

3.21refused bequest(被拒绝的遗赠)

3.22comments(过多的注释)

 

 

原创粉丝点击