《软件开发沉思录》之对象健身操

2019独角兽企业重金招聘Python工程师标准>>>

原来代码:

重构后代码:

原来代码:

重构后代码:

另外,如果根据状态进行分支选择的代码大量地重复,那么就应该考虑使用策略模式或者反射的方式去解决。

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

方法名中应该描述清楚参数的意思

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

一行中如果有多个”.”, 而且这些“.”都是彼此联系的,那么你的对象就已经深深地陷入到另一个对象之中了。这些过量的“.”说明你破坏了封装性。尝试着让对象为你做一些事情,而不要窥视对象内部的细节。封装的主要含义就是,不要让类的边界跨入到它不应该知道的类型中。

原来代码:

重构后代码: 规则5:不要使用缩写 我们总会不自觉地在类名、方法名或者变量名中使用缩写。请抵制住这个诱惑。缩写会令人迷惑,也容易隐藏一些更严重的问题。想一想你为什么要使用缩写。因为你厌倦了一遍又一遍地敲打相同的单词果是这种情况,也许你的方法调用得过于频繁,你是不是应该停下来消除一些重复了为方法的名字太长可能意味着有些职责没有放在正确的位置或者是有缺失的类。 尽量保持类名和方法名中只包含一到两个单词,避免在名字中重复上下文的信息。比如某个类是 Order,那么方法名就不必叫做shipOrder()了,把它简化为 ship(),客户端就会调回order.ship()——这能够简单明了地说明代码的意图。 规则6:保持实体对象简单清晰 这意味着每个类的长度都不能超过 50 行,每个包所包含的文件不超过 10 个。 规则7:任何类中的实例变量都不要超过两个 通常,对实例变量解耦以后,会加深理解各个相关的实例变量之间的共性。有时,几个相关的实例变量在一流的集合中会相互关联。将一个对象从拥有大量属性的状态,解构成为分层次的、相互关联的多个对象,会直接产生一个更实用的对象模型。不断应用这条规则,可以快速将一个复杂的大对象分解成为大量简单的小对象。当你真正开始做的时候,可以沿着两个方向进行:其一,可以将对象的实例变量按照相关性分离在两个部分中;另外,也可以创建一个新的对象来封装两个已有的实例变量。 原来代码: 重构后代码:

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

上一篇 2010年11月11日
下一篇 2010年11月11日

相关推荐