代码重构小结

来源:互联网 发布:jvcs500知乎 编辑:程序博客网 时间:2024/05/29 09:05

关于代码重构的一些总结:

  • 能用组合(composition)就不用继承(inheritance)
    HeadFirst 的设计模式这本书里面好像也提到这点。个人的感觉是当类的继承结构很深的时候,了解一个复杂的方法就会变得很痛苦,特别是一个类很庞大的时候。由于每个方法由于是多态的,在阅读代码的时候你还得搞清楚它到底是运行父类的方法还是子类的方法。而且如果这个类还跟其它的类有依赖的时候,trace这个调用关系就更痛苦了,至少不记点笔记的话,就会忘记。

  • 处理大类
    经常看到有人在一个类里面做一堆的事情,这些事情可能是相关也可能不相关,每个方法可能也很庞大。我觉得这个违反类的单一职责这个原则。面对这种体积庞大的类,重构的方法往往可以用“组合“, 比例创建一些新类,每个类有自己明确的职责,比如类A处理从服务器下载日记,类B处理日记解释,最后有一个类来显示这些日记。

暂时写这么多,后面有时间再补充。

原创粉丝点击