文章目录
2.2两顶帽子2.8重构与性能
2.2两顶帽子
用重构技术开发软件时,时间分配给两种行为
添加新功能和重构 添加新功能时,不应修改既有代码,只添新功能
通过添加测试并让测试正常运行可衡量自己工作进度 重构时不添加功能,只管调整代码结构
此时不应添加任何测试(除非发现有先前遗漏的)只绝对必要(用以处理接口变化)时才修改测试
软件开发过程中,发现自己经常变帽子首先我尝试添新功能然后意识到:如果把程序结构改下,功能的添加会易得多于是我换一顶帽子,做一会儿重构程序结构调整好后,我又换上原先帽,继续添新功能新功能正常后,又发现自己的编码造成程序难理解,又换上重构无论何时我都清楚自己戴的是哪一顶帽
且明白不同帽子对编程状态提出的不同要求
2.8重构与性能
重构对程序的性能将造成怎样的影响?为了让软件易于理解,我常会做出一些使程序运行变慢的修改。这是一个重要的问题。不赞成为了提高设计的纯洁性而忽视性能,把希望寄托于更快的硬件身上也绝非正道。虽然重构可能使软件运行更慢,但它也使软件的性能优化更容易。除了对性能有严格要求的实时系统,其他任何情况下“编写快速软件”的秘密就是:先写出可调优的软件,然后调优它以求获得足 够的速度
3种编写快速软件的方法最严格的是时间预算法,只用于性能要求极高的实时系统用这种方法,分解你的设计时就要做好预算,给每个组件预先分配一定资源,包括时间和空间占用每个组件绝对不能超出自己的预算,
就算拥有组件之间调度预配时间的机制也不行 这种方法高度重视性能,对心律调节器一类的系统必需的,
因为在这样的系统中迟来的数据就是错误的数据 但对其他系统(我经常开发的企业信息系统),追求高性能就有过分