重构 改善既有代码的设计(一)

第一章 重构,第一个案例

  • 重构的基本定义
    重构是在不改变软件可观察行为的前提下改善其内部结构。

  • 代码并不是先设计好再去编写的,我们首先要保证可正常运行,再去重构。 在代码写之后改进它设计。

  • 如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。

  • 重构前,先检查自己是否有一套可靠的测试机制。这些测试必须有自我检验能力。

  • 抽取方法时注意函数中的局部变量和参数。 p9

  • 重构技术就是以微小的步伐修改程序。如果你犯下错误,很容易便发现它。

  • java的很多IDE中已经实现了Extract Method。

  • 更改变量名是提高代码清晰的关键。

第二章 重构原则

  • 重构的两个定义
    1 重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
    2 重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

  • 大多时候我们做的是两件事情:添加新功能和重构。我们经常交替进行,但是一定要记住我们现在做的事哪件事。

  • 不建议特别拨出时间来做重构,不要为了重构而重构。你之所以重构,是因为你想做别的什么事,而重构可以帮助你把那些事做好。

  • 何时进行重构
    1 添加功能时
    2 修补错误时
    3 复审代码时

  • 重构的难题
    1 数据库
    2 修改接口
    3 难以用重构手法完成的设计改动

  • 何时不该重构
    重构之前必须起码能够在大部分情况下正常运行。
    如果项目已近最后期限,你也应该避免重构

  • 编写快速软件的方法
    1 时间预算法 在开发实时系统上比较常见
    2 持续关注法 不实用
    3 性能提升法 推荐

  • 性能提升法
    采用这个方法时,你编写构造良好的程序,不对性能投以特别的关注,直至进入性能优化阶段----通常是在开发的最后阶段。
    你首先应该用一个度量工具来监控程序的运行,他告诉你程序中那些地方大量消耗时间和空间。
    和重构一样,你应该小幅度进行修改。每一步都需要编译、测试、再度量。如果没有能提高性能,就应该撤销此次修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,457评论 25 709
  • 有些宝石从诞生至今就已享誉几个世纪的殊荣,而有些宝石却好似在一夜之间成为万众瞩目的焦点,芬达石便是个一夜成名的宠儿...
    319e2ccb3655阅读 982评论 0 0
  • 出于忏悔之意,我下意识地拿起一本书来翻看。这本书是床尾和柜子里所“珍藏”的其中一本,我感觉不能让它们就那样静悄悄地...
    Michael_Lau阅读 395评论 1 0