程序员

注册

 

发新话题 回复该主题

一个程序员如何做好软件重构的几点看法 [复制链接]

1#
北京中科中医院好不好 http://m.39.net/baidianfeng/a_4595424.html

软件重构就是一种“保持行为的转换”,或者如MartinFowler定义的那样:“(重构)是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低”。本文对一个程序员如何做好软件重构提出了一些看法。如下图所示:

重构看法

1、无情地针砭

重构过程包括去除重复、简化复杂逻辑和澄清模糊的代码。重构时,需要对代码无情地针砭,以改进其设计。这种改进可能很小,小到只是改变一个变量名;也可能很大,大到合并两个类层次。

2、必须测试

要保证重构的安全性,确保所做的修改不会产生任何破坏则必须手工测试或者运行自动测试。如果能够快速地运行自动测试,确保(修改后)代码仍能工作,就能更大胆地进行重构,更乐于尝试试验性的设计。

3、循序渐进

循序渐进地进行重构有助于防止增加缺陷。大多数重构过程都需花费一些时间。有些大型重构可能需要持续数天、数周甚至数月,才能完成转换。但是即便这样的大型重构也是循序渐进地实现的。

4、持续

重构最好是持续而不是分阶段进行。只要看到代码需要改善,就改善它。但是,如果项目经理要求完成某项功能,以备明天进行演示之用,那么当然应该先完成这项功能,以后再进行重构。持续重构能够很好地满足业务需求,但是重构实践必须和谐地适应业务上的轻重缓急。

分享 转发
TOP
发新话题 回复该主题