资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2017/3/18,#,对象健身操,Ge Yiming,Agenda,被公认的软件设计理念,内聚,性,松,耦,合,零,重,复,封装,可,测试,性,可,读,性,单,一,职责,开闭原则,对象健身操,九步迈向优秀软件设计,1.,方法只使,用一次缩,进,。,2,.,拒绝使用,else,关键字,。,3,.,封装所有的原生类型和字符串,。,4,.,一行代码只有一个“,.”,运算符,。,5,.,不要使用缩写,。,6,.,保持实体对象简单清晰,。,7,.,任何类中的实例变量都不要超过两个,。,8,.,使用一流的集合,。,9,.,不,使用,任,何,Getter/Setter/Property,1.,方法只使用一次缩进,class CollectTable ,private String data;,String board() ,StringBuffer buf = new StringBuffer();,for (int i = 0; i 10; i+) ,for (int j = 0; j 10; j+) ,buf.append(dataij);,buf.append(n);,return buf.toString();,2.,拒绝使用,else,关键字,else,语句会使得程序逻辑看起来更复杂,形成更深的判断逻辑层次,3.,封装所有的原生类型和字符串,整,数自,身只代表一个数量,没有任何含,义,我,们必须清楚参数的实际意义,4.,一行代码只有一个“,.”,运算符,public class GeneralManager ,private DepartmentManager managers;,public void doJob() ,managers0.teamLeaders0.memeber0.doJob();,5.,不,要使用缩写,public class Order ,public void vldtSnd() ,public void validateAndSend() ,public void place() ,6.,保,持实体对象简单清晰,每个类的长度都不能超过,50,行,每,个包所包含的文件不超过,10,个,好处:,不,需要滚,屏,包的内聚性变强,7.,类,中的实例变量都不要超过两个,大多数的类应该只负责处理单一的状态变量,每,当为类添加一个实例变量,就会立即降低类的内聚,性,class Name String first;,String,middle;,String,last,;,class,Name,Surname family;,GivenName given;,class,Surname,String family;,class,GivenName,List names;,8.,使,用一流的集合,实例变,量规则的扩展,包含集合的类都不能再包含其他的成员变,量,对集合的操作缺少业务语义理解,应该被封装成可读性更强的代码,不,使用,任,何,Getter/Setter/Property,如果可以从对象之外随便询问实例变量的值,那么行为与数据就不可能封装到一处,命令,不要去询问,Q&A,Questions?,
展开阅读全文