重构:改善既有代码的设计 读书笔记1
何谓重构?重构是对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低修改成本。重构是用微小的步伐修改程序,在这个过程中也能够很容易的发现程序中的错误。重构的时机可以是添加功能时,也可以是修补错误时,还可以是复审代码时。重构的目标是让代码容易阅读、所有逻辑都在唯一地点指定、新的改动不会危及现有行为、尽可能简单的表达逻辑。
这本书我个人最喜欢的第三章 - “代码的坏味道”,因为我喜欢在写完代码后去思考我的代码中有没有这些坏味道,然后再去想一想应该如何重构代码。这本书的作者是世界级的软件开发大师Martin Fowler,他也被誉为软件开发“教父”,同时他还是敏捷开发的创始人之一。Martin Fowler编写了很多极好的书籍,包括《企业应用架构模式》、《领域特定语言》、《NoSQL精粹》、《分析模式:可重用对象模型》等。Martin Fowler给出的代码的坏味道包括:
- Duplicated Code(重复代码):“代码有很多中坏味道,重复是最坏的一种”,这句话我经常讲给自己的学生听,但是他们真正领悟并践行这句话的人却不多。一个类中的两个方法有重复代码,那么一定可以通过抽取方法的方式将重复代码放到另一个方法中以供调用;两个互为兄弟的子类中如果有重复代码可以将其重复代码抽取到父类中;两个没有关系的类中如果有重复代码,那么可以重新抽取一个类将重复代码放到这个第三方类中。