对象健身操—-Thought Works文集

       最近看到了一本非常值得阅读的书《软件开发沉思录–Thought Works 文集》, 13 篇美文荟萃软件开发精华,来自软件界思想领袖们的经验心得,为你开启敏捷开发之门。其中有一篇文章非 常经典,让我爱不释手。现在我把里面的部分思想摘录于此,以此来警戒自己。


九步迈向优秀软件设计:



规则1 :方法只使用一级缩进


庞大的方法通常缺少内聚性。一个常见的原则是将方法的行数控制在5 行之类。每个方法都只关注一件事,而它们所在的泪也只做一件事。


规则2 :拒绝 else 关键字


层层嵌套的条件判断,连绵数页的case 语句。对于简单的条件判断,我们可以使用“卫语句”和“提前返回”替换它。


规则3 :封装所有的原生类型和字符串


规则4 :一行代码只有一个“ . ”运算符


一行包含了多个“. ”的代码,很难判断出一个行为的职责应该由哪个对象来承担。迪米特法则:只和身边的朋友交流。


规则5 :不要使用缩写

   我们总会在不自觉地在类名,方法名或者变量名中使用缩写。缩写会令人迷惑,也容易隐藏一些严重的问题。尽量保持类名和方法名称中只包含一到两个单词。


规则6 :保持实体对象简单清晰


   每个类的长度都不能超过50 行,每个包所包含的文件不超过 10 个。随着类变得越来越小,职责越来越少,加之包的大小也受限制,因此包中的泪越来越集中,它们能协调完成一个共同的目标。包和类一样,也应该是内聚的。


规则7 :如何类中的实例变量都不要超过两个


   大多数的类应该只负责处理单一的状态变量,有时也可以拥有两个状态变量。每当为类添加一个实例变量,就会立即降低类的内聚性。


规则8 :使用一流的集合


规则9 :不使用任何 Getter/Setter/Property


   这条规则通常被描述为:“讲述而不要询问(Tell, don’t ask )”。

总结:能够帮助程序员获得面向对象程序设计的圣杯——- 数据封装。不要使用 else, 尽量简化条件判断逻辑,鼓励程序员适当使用多态。命名策略,鼓励程序员使用一致的,直接的命名标准,不要使用难以理解的缩写。


总之:就是想尽办法消除代码中的重复。我们每天都要面对复杂的问题,而我们的目标是:用简练的代码表达出简单而优美的抽象。



拥抱简单,快乐编程,享受编程。

 

 


 

 


 

 

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2010年4月21日
下一篇 2010年4月22日

相关推荐