1、重复代码(Duplicated Code)
2、过长函数(Long Method)
3、过大的类(Large Class)
4、过长参数列表(Long Parameter List)
5、发散式变化(针对不断变化的需求不断修改的同一个类):针对某一外界变化的所有相应修改应该都只发生在单一类中。
6、霰弹(xian dan)式变化(Shotgun Surgery):每遇到某种变化,你都需要在许多不同的类内进行修改。
7、依恋情节(Feature Envy):某个函数为了计算某个值从另一个对象调用了几乎一半的函数。(一个函数往往会用到几个类的功能,那么如何判断该方法应该放在哪个类中呢?我们的原则是:判断哪个类拥有最多被此函数使用的数据,然后就把这个函数和那些数据摆在一起。)
8、数据泥团:两个类中有相同的字段、许多函数签名中有相同的参数。
9、基本类型偏执(Primitive Obsession): 建议使用对象类型,使用Integer而不是int。
10、Switch Statements:少用switch语句
11、平行继承体系(Parallel Inheritance Hierarchies):每当你为某个类增加一个子类,必须也为另一个类相应的增加一个子类。
12、冗赘(rongzhui)类(Lazy Class):如果一个类没有价值,就应该消失。
13、夸夸其谈未来性(Speculative Generality):以各种未来可能的需求或非必要的功能呢个为接口而添加毫无意义的代码
14、令人迷惑的暂时字段(Temporary Field):其内某个实例变量仅为某种特定情况而设定。
15、过度耦合的消息链(Message Chains):如果用户向一个对象请求另一个对象,然后在向后者请求另一对象,然后在请求另一个对象,这就是消息链。过深的调用层次或是过度的对象关系耦合。
16、中间人(Middle Man):
17、狎昵关系(Inappropriate Intimacy):两个类关系过于紧密:
18、异曲同工的类(Alertnative Classes with different interface):两个函数做同一件事却有不同的签名。
19、不完美的类库(Incomplete Libarary Class):类库无法被高效的重用;
20、纯稚的数据类(Data Class):它们拥有一些字段,以及用于访问(读写)这些字段的函数,除此之外一无长物。
21、被拒绝的遗赠(Refused Bequest):子类应该继承超类的函数和数据。
22、过多的注释(Comments)
相关推荐
详细描述了在设计和编码中的21中代码坏味道,让我们知道什么样的代码方式是容易给后续维护带来极大影响的问题。
NULL 博文链接:https://takemind.iteye.com/blog/2312244
代码坏味道与启发--《代码整洁之道》总结.pdf
附件是在读完《重构 改善既有代码的设计》之后,为代码的坏味道所撰写的总结文档。
该文档是以前整理的笔记本,主要是针对代码坏问道的一些描述和一些解决办法。东西都是摘录的,虽然距离现在差多十几年,但是感觉还是可用的,所以分享一下。
最近一段时间,我参与了几次代码审查,发现了5种出现次数较多的代码坏味道,总结如下
代码的坏味道 重构方式对应表 DOC 可打印.
java代码的TOP10的坏味道,我们TOP10的坏味道主要如下: TOP 1 —— 返回值处理 A: 被调函数执行结果对业务流程有影响时,调用者却没有处理其返回值。 包括:可能导致空指针访问、缺少回退处理(资源泄漏等)。
重构-改善既有代码的设计之代码的坏味道举例说明.md
代码坏味道 什么是好代码? 什么代码复杂度? 怎么解决代码复杂性? 重要设计模式
25种代码坏味道总结+优化示例 聊聊日常开发中,如何减少bug呢? 工作四年,分享50个让你代码更好的小建议 写代码有这16个好习惯,可以减少80%非业务的bug Java日常开发的21个坑,你踩过几个? CAS乐观锁解决并发问题...
NULL 博文链接:https://aqxiebin.iteye.com/blog/1579688
重构原则 代码的坏味道 简化函数调用 重构,复用与现实 重构工具
运行效果:您的项目概览,并且可以对代码打分(百分制)根据各自的坏味道数量建立文件索引(对不同文件按照改动频率、复杂度、重复度和坏味道4个维度进行综合评定代码质量等级)坏味道检测索引可以查看具体的类文件中...
任何一个傻瓜都能写出计算机可以理解的程序,只有写出人类容易理解的程序才是优秀的程序员
用于代码异味重构的 Android Studio 插件。 它能够修复特定于 Android 的代码异味和/或建议适当的重构来解决它们。 该插件支持以下代码异味: 自动重构: 初始化 OnDraw (IOD) 重启动服务 (HSS) 刚性警报管理器 (RAM...
重构-改善既有代码的设计+中文版代码重构 代码的新思维 何为优秀代码 代码的坏味道 如何重构 设计重构 设计的基本原理 重构到模式 架构重构
刘伟老师关于重构技巧的讲解,通过识别代码中的坏味道,并通过相关的技巧去重构代码以提高代码的可复用性。
第3章 代码的坏味道 75 第4章 构筑测试体系 89 第5章 重构列表 103 第6章 重新组织函数 109 第7章 在对象之间搬移特性 141 第8章 重新组织数据 169 第9章 简化条件表达式 237 第10章 简化函数调用 ...
于是萌生想做一本重构工具书的想法,本来打算自己重新将重构书的内容再整理归类一下,后来发现原书的目录编排就很适合做工具书,包括坏味道分类,重构手法归类等,都有了一个比较系统的整理。因此,我利用空余时间...