关于代码重构的几点原则

简介:

重构

软件重构是指在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造。简而言之,重构就是改进已经写好的软件的设计。

软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极端编程的方法学中,重构需要单元测试来支持。

 


什么是Refactoring?

1.Refactoring是对已经完成的代码进行改进的过程。在不对代码的外部行为进行改动的情况下,对代码内部的结构进行优化。

2.Refactoring是严谨地对完成的代码进行清理的从而减少出错的一种方法。

3.Refactoring的实质是对完成代码的设计进行改进。

4.Refactoring是XP项目中每天的例行练习。

5.Refactoring必须和Test-Driven Design and Development 伴随进行。

 

为什么要Refactoring?

1. 改进软件的设计。

程序员对代码所做的为了满足短期利益代码改动,或再没有完全清楚增个架构下的改动,都很容易是代码失去它的清晰结构,偏离需求或设计。而这些改动的积累很容易使代码偏离它原先设计的初衷而变得不可立即和无法维护。 Refactoring则帮助重新组织代码,重新清晰的体现结构和进一步改进设计。

2. 提高代码质量,可维护性。

容易理解的代码可以很容易的维护和做进一步的开发。即使对写这些代码的程序员本身,容易理解代码也可以帮助容易地做修改。

程序代码也是文档。而代码首先是写给人看的,让后才是给计算机看的。

3. Refactoring帮助尽早的发现错误(Defects)

Refactoring是一个code review和反馈的过程。在另一个时段重新审视自己或别人代码,可以更容易的发现问题和加深对代码的理解。 Refactoring是一个良好的软件开发习惯。

4. Refactoring可以提高提高开发速度

Refactoring对设计和代码的改进,都可以有效的提高开发速度。好的设计和代码质量实体提高开发速度的关键。在一个有缺陷的设计和混乱代码基础上的开发,即使表面上进度较快,但本质是试延后对设计缺陷的发现和对错误的修改,也就是延后了开发风险,最终要在开发的后期付出更多的时间和代价。

 

 

什么时候适合做Refactoring?

1.在开始增加一个新的功能之前

为了增加一个新的功能,程序员需要首先读懂现有的代码。

2.在修复一个错误的时候

为了修复一个Bug,程序员需要读懂现有的代码。

3.在做Code Review的时候

 

 

什么时候不适合做Refactoring?

1.代码太混乱,设计完全错误

与其Refactor,不如重新开始。

2.明天是DeadLine

永远不要做Last-Minute-Change。推迟Refactoring,但不可以忽略,即使进入Production的代码都正确的运行。

3.Refactoring的工作量显著的影响Estimate

一个Task的estimate是3天,如果为了Refactoring,需要更多的时间( 2天或更多)。推迟Refactoring,同步可以忽略。可以把这个Refactoring作为一个新的Task,或者安排在Refactoring的Iteration中完成。

 

Refactoring的流程

1.读懂代码(包括测试例子代码)

2.Refactoring

3.运行所有的Unit Tests



本文转自passover 51CTO博客,原文链接:http://blog.51cto.com/passover/425916,如需转载请自行联系原作者

目录
打赏
0
0
0
0
69
分享
相关文章
优雅代码,建议掌握这 11个编程原则!
高质量的代码不仅让人信服,还能提升开发效率。本文总结了多位高手的经验,提炼出11条编码基本原则:DRY(避免重复)、KISS(简洁至上)、重构(优化代码)、SOLID(设计原则)、文档编写、创建优于继承、YAGNI(避免过度设计)、委托原则、始终保持代码清洁、封装变化以及优先使用组合而非继承。遵循这些原则,你的代码将更加优雅和高效。
164 3
重构的核心-让代码保持整洁
很久之前团队师兄向我推荐了《重构:改善既有代码的设计》这本书,粗略翻阅看到很多重构的细节技巧,但当时还处于未接触过工程代码,只关注代码功能,不太考虑后期维护的阶段,读起来觉得枯燥无味,几乎没有共鸣,一直没有细细阅读。在工作一年后,终于在师兄的督促下,利用一个月左右的早起时光读完了这本书,收获很多,感谢师兄的督促,感谢这本书陪伴我找回了阅读习惯。把这本书推荐给已经接触了工程代码、工作一年左右的新同学,相信有了一定的经验积累,再结合日常项目实践中遇到的问题,对这本书的内容会有很多自己的思考感悟
40604 4
重构的核心-让代码保持整洁
我在架构设计和代码开发中的一些常用原则
在日常的开发和设计过程中,大家对技术设计上的一些问题往往会面临很多的选择,不同的人会有不同的选择。本文介绍的就是我在工作中遇到的一些问题而总结和使用到的一些常用原则。
我在架构设计和代码开发中的一些常用原则
【Java设计模式 规范与重构】 二 重构的保障:单元测试,以及如何提高代码可测试性
【Java设计模式 规范与重构】 二 重构的保障:单元测试,以及如何提高代码可测试性
207 0
我来告诉你代码重构有什么好处
根据两本关于重构的书籍的作者 Martin Fowler的说法 “重构是改变软件系统的过程,它不会改变代码的外部行为,但会改善其内部结构。这是一种清理代码的严格方法,可以最大限度地减少引入错误的机会。本质上,当你重构时,你是在改进编写代码后的设计。”
274 0
程序员如何做好代码重构?
代码重构重构就是在不改变软件系统外部行为的前提下,改善它的内部结构。重构不是重写,它们的区别你可以理解为,重构是修复代码,大框架不变。重写是扔掉原来的,重新设计框架。
242 0
程序员如何做好代码重构?
本着什么原则,才能写出优秀的代码? (一)
本着什么原则,才能写出优秀的代码? (一)
175 0
本着什么原则,才能写出优秀的代码? (一)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等