重构(名词):对软件内部的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其xiug修改成本。
重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。
重构的要义:
重构的目的是使软件更容易被理解和修改;
重构不会改变软件可观察的行为。
重构的原因:
改进软件设计;
使软件可读性更高;
帮助找到Bug;
提高编程速度。
何时重构:
事不过三,三则重构;
添加新功能困难;
修补错误代码可读性很差;
复审代码发现不合理。
是什么让程序难以修改:
难以阅读;
逻辑chde重复;
添加新行为需要修改已有代码;
带复杂条件逻辑。
因此我们希望程序:容易阅读;逻辑单一地点指定;新的改动不会危及现有行为;条件逻辑简单清晰。
重构时遇到的难题:
数据库,在对象模型和数据库模型之间添加一个分割层。
修改接口,不要过早发布接口。修改daim代码所有权政策,使重构更顺畅。
何时不该重构,现有代码不能正常运作。
重构与性能:
时间预算法,通常只用于实时系统,给每个组件预先分配一定资源包括时间和执行轨迹。
持续关注法,低效全面的改善。
利用90%统计数据,改善这部分代码。