? 这一块小文字,在我的笔记内多时了,近半年来我一直在编码中体会和验证它们。 面向对象含含混晦涩,不容易理解,说实话,我现在也没有看到一本书让我很快的明白的——总是需要长期的摸索和体会才慢慢的得到精髓。 ------------------ 对象健身操——九步迈向优秀软件设计2010年03月12日 星期五 来自《thoughtworks文集》 ? 1.方法只使用一级缩进。 2.拒绝使用else关键字。 3.封装所有的原生类型和字符串。 4.一行代码只有一个“.”运算符。 5.不要使用缩进。 6.保持实体对象简单清晰。 7.任何类中的实例变量都不要超过两个。 8.使用一流的集合。 9.不使用任何Getter/Setter/Property。 ------------------ 第1条,就是说,函数内嵌套的深度为1。我们的要求是不超过5 第2条,其实就是说尽量的使用“尽快返回”,在重构领域内,叫做“用防卫语句替换条件语句”,通过这样的方法,可以有效的降低代码嵌套的深度。 第8条,使用好的数据结构,常常可以替换等效但是复杂的控制结构,从而减少代码的复杂度。这个是我比较常用的重构手法。 第3条是说在代码中应该不出现int,string这样的基本类型,而全部都是具体的业务类型——惊世骇俗——我有一点点理解,但是还缺乏更多坚实的证据。 第5条好像和1有些重复,而第九条明显是java语言的缺陷造成的,可以不必理会。 其他条目还是比较缺乏直观的理解。 ? 这一小段文字的价值在于把复杂的面向对象变成了口诀,有时候,我想编码的实践是不是如同练习武功一样,高深一时半刻不能达到,师傅传授的口诀却常常是管用的——然后经过天长日久的磨练,突然达到醍醐灌顶的境界?