clean code 之 类篇
2016-07-31 14:12
92 查看
1.类的组织
类的组织遵循标准的Java约定:[b]变量[/b]
变量又称为实体,变量的顺序应该为:公共静态变量–>私有静态变量–>私有实体变量–>公共变量
注意1:公共静态变量应该尽可能存在同一个地方便于管理
注意2:Java类中很少使用公共变量,应该采用属性的方式来进行变量的访问和修改
[b]属性[/b]
属性及get和set在紧跟私有实体变量。
[b]函数[/b]
遵循自顶向下原则,公共函数–>私有函数
2.类要短小
类要短小,判断标准是是否遵循以下三个原则。类要短小会是类的数量巨增,数量巨大的短小单一目的的类会导致代码难于管理,其实,只要分好类,做好标记,相当于将东西归置到不同的小抽屉中,而不是胡乱的放入几个大抽屉中,这样及方便查找也方便修改和维护。2.1单一职责原则
单一职责SRP(Single-Responsibilitv Principle),每个类只有一个权责,只有一条理由去修改。只做一件事情,例如只做打印、只做转换、只做算法处理等。如果一个类做的事情太多,那就应该对它进行拆解,拆解成只多个有单一权责的类,这样功能做修改的时候就省略回归测试。2.2高内聚低耦合
在遵循单一职责的基础上,提高类间的聚合性,类间的聚合性是指类中的函数应该尽可能多操作类中的实体变量,所以内聚性=(函数使用实体的总数)/(实体总数*函数总数),当然内聚性等于1的基本上不太可能。提高内聚性可以从拆解大函数和大类入手:[b]拆解大函数[/b]
如果一个函数过大,可以将它进行重构拆解出多个小函数,如果小函数分离是需要传递参数,可以将传递的参数作为类的实体变量,从而去掉参数的传递,这样各个函数的功能比较单一,引发的问题是实体变量增多,从而内聚性降低,类会变大。
[b]拆解大类[/b]
拆解大类,遵守单一职责原则就可以了。
3.适应修改
对于多数系统来说,修改将一直在持续,在系统中最重要的一条规则就是开放闭合原则OCP(Open-Close Principle),实现开放OCP目标遵循两个原则:[b]面向抽象编程OAP(Oriented Abstract Program)[/b]
抽象是稳定的,实现是易变的,这里的抽象表现在两个方面:业务抽象和具体抽象(抽象类和接口)
[b]依赖导致原则DIP(Dependency Inversion Principle)[/b]
也是Spring框架的核心
[b]隔离原则IP(Isolation Principle)[/b]
类和类之间要相互隔离,做到修改时影响最小,添加时,通过扩展而非修改来实现
相关文章推荐
- Clean Code的思想在功能测试自动化重构中的应用
- 什么是整洁的代码(Clean Code)?
- 整洁代码之一:决定开始阅读Clean Code
- Clean Code 读书笔记三
- 读代码整洁之道 clean code一些命名规则
- Clean Code 读书笔记
- Clean Code 读书笔记
- jQuery Attributes(属性)的使用(二、类篇)
- 《Clean Code》 第四章——Comment 总结
- 注释 —— 《clean code》读后感
- 《Clean Code》学习之-Functions
- 集合框架源码分析三(实现类篇ArrayList,LinkedList,HashMap)
- 如何命名 —— 《clean code》读后感
- android 工具类篇 StringUtil
- 2015年第11本:代码整洁之道Clean Code
- {Clean Code} Concurrency
- 集合框架源码分析三(实现类篇ArrayList,LinkedList,HashMap)
- 聊聊clean code的编码、重构技巧
- 代码整洁之道(Clean Code) 笔记(三)
- PHP 代码简洁之道 ( PHP Clean Code)