代码坏味道与启发--《代码整洁之道》总结

代码坏味道与启发--《代码整洁之道》总结

ID:9369926

大小:168.31 KB

页数:5页

时间:2018-04-29

代码坏味道与启发--《代码整洁之道》总结_第1页
代码坏味道与启发--《代码整洁之道》总结_第2页
代码坏味道与启发--《代码整洁之道》总结_第3页
代码坏味道与启发--《代码整洁之道》总结_第4页
代码坏味道与启发--《代码整洁之道》总结_第5页
资源描述:

《代码坏味道与启发--《代码整洁之道》总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、代码坏味道与启发--《代码整洁之道》总结注释C1.不恰当的注释让不恰当的注释保存到源代码控制系统。C2.废弃的注释过时、无关或不正确的注释就是废弃的注释不应该保留必须马上删除。C3.冗余的注释注释应该谈及代码自身没提到的东西,否则就是冗余的。C4.糟糕的注释值得编写的注释必须正确写出最好的注释,如果不是就不要写。C5.注释掉的代码注释掉的代码必须删除。环境E1.需要多步才能实现的构建构建系统应该是单步的小操作。E2.需要多步才能实现的测试只需要单个指令就可以运行所有单元测试。函数F1.过多的参数函数参数应该

2、越少越好,坚决避免有3个参数的函数。F2.输出参数输出参数违反直接,抵制输出参数。F3.标识参数布尔值参数令人迷惑,应该消灭掉。F4.死函数永不被调用函数应该删除掉。一般性问题G1.一个源文件存在多个语言尽量减少源文件语言的数量和范围。G2.明显的行为未被实现遵循“最少惊异原则”,函数或者类应该实现其他程序员有理由期待的行为,不要让其他程序员看代码才清楚函数的作用。G3.不正确的边界行为代码应该有正确的行为,追索每种边界条件并进行全面测试。G4.忽视安全关注可能引起问题的代码,注重安全与稳定。G5.重复消除

3、重复代码,使用设计模式。G6.在错误的抽象层级上的代码抽象类和派生类概念模型必须完整分离,例如:与实现细节有关的代码不应该在基类中出现。G7.基类依赖于派生类基类应该对派生类一无所知。G8.信息过多类中的方法,变量越少越好,隐藏所有实现,公开接口越少越好。G9.死代码找到并删除所有不被调用的代码。G10.垂直分隔变量和函数的定义应该靠近被调用代码。G11.前后不一致函数参数变量应该从一而终,保持一致,让代码便于阅读和修改。G12.混淆视听没用的变量,不被调用的函数,没有信息量的注释应该清理掉。G13.人为耦

4、合不互相依赖的东西不该耦合。G14.特性依恋类的方法应该只对自身的方法和变量感兴趣,不应该垂青其他类的方法和变量。G15.选择算子参数避免布尔类型参数,使用多态代替。G16.晦涩的意图代码要尽可能具有表达力,明白的意图比高效和性能重要。G17.位置错误的权责“最少惊异原则”,把代码放在读者想到的地方,而不是对自己方便的地方。G18.不恰当的静态方法如果要使用静态方法,必须确保没机会打算让它有多态行为。G19.使用解释性变量把计算过程打散成一系列命名良好的中间值使程序更加可读性。G20.函数名称应该表达其行为

5、G21.理解算法G22.把逻辑依赖改为物理依赖依赖应该是明显而不应该是假设的依赖。G23.用多态替代If/Else或Switch/CaseG24.遵循标准约定G25.用命名常量替代魔术数G26.准确代码中的含糊和不准确要么是意见不同的结果,要么源于懒散,都必须消除。G27.结构甚于约定G28.封装条件把条件封装成方法。G29.避免否定性条件使用肯定性条件。G30.函数只该做一件事G31.掩蔽时序耦合创建顺序队列暴露时序耦合,每个函数都产生一下函数所需参数,就可保障正确的时序。G32.别随意代码不能随意,需要

6、谨慎考虑。G33.封装边界条件例如:+1或-1操作必须封装起来。G34.函数应该只在一个抽象层级上封装不在一个抽象层级上的代码,保持每个函数只在一个抽象层级上。G35.在较高层级放置可配置数据把配置数据和常量放到基类里。G36.避免传递浏览“得墨忒耳律”,编写害羞代码,让直接协作者提供所需的服务,而不要逛遍整个系统。JAVAJ1.通过使用通配符避免过长的导入清单J2.不要继承常量J3.常量VS.枚举使用枚举enum代替常量。名称N1.采用描述性名称名称对应可读性有90%的作用,必须认真命名。N2.名称应与抽

7、象层级相符不要取沟通实现的名称:取反映类或函数抽象层级的名称。N3.尽可能使用标准命名法N4.无歧义的名称N5.为较大作用范围选用较长名称N6.避免编码不应该在名称中包含类型或范围的信息,例如:m_,f等前缀。N7.名称应该说明副作用名称应该说明类、变量或函数的所有信息,不应该隐藏副作用。测试T1.测试不足保证足够的测试。T2.使用覆盖率工具覆盖率工具可以更好地找到测试不足的模块、类、函数。T3.别略过小测试T4.被忽略的测试就是对不确定事物的疑问用@Ignore表达我们对需求的疑问。T5.测试边界条件边界

8、判读错误很常见,必须测试边界条件。T6.全面测试相近的缺陷缺陷趋向于扎堆,如果在函数中发现一个缺陷,那么就全面测试这个函数。T7.测试失败的模式有启发性你可以通过测试失败找到问题所在。T8.测试覆盖率的模式有启发性通过测试覆盖率检查,往往可以找到测试失败的线索。T9.测试应该快速慢测试会导致时间紧时会跳过,导致可能出现问题。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。