开发人员可能听到过"bad smell"这个词,这个词用在软件编码中是什么意思呢? 代码还有smell吗?当然没有,正如计算机病毒,bug等词一样,这只是个形象的说法。这个词在这里的意思是代码实现了需求,但是代码却不精炼,冗余,结构混乱,难读懂,难维护,难扩展等等。与之相对应的一个词是"refactor",即代码重构。我们在看些外国人写的程序时可以发现,他们的代码里一般会定义大量的类、接口、方法,类与类,类与接口之间很多是继承和实现的关系,方法的代码行数很少,超过20行代码的方法不多,看他们的代码感觉最多的就是方法之间的调来调去,不像我们的代码,一个方法下来几十上百甚至两三百行都是最基本的语句构成,很少调用自己的方法。两相比较,可以看出,前者在结构上更清晰,通过类视图就可看出设计意图,并且总的代码量不会高于后者,而后者代码量庞大,代码冗余现象严重,结构不清晰,很难维护,如要修改某个错误,可能涉及到要修改的代码点很多,这样后来的维护者就很头疼了。造成这种状况的原因有这样一些:
1.经验不足,分析设计不到位
2.敏捷开发,虽然经验很多,但为了快速开发,没有经过分析设计
3.缺乏意识,只为实现功能而写代码,不管代码质量
对于这样的代码,我们怎样将其变得更为精炼和易于维护呢?这就是代码重构。重构不是针对功能,纯粹是对代码本身。重构后的代码不会影响到系统的运行。
我们来看看可以在哪些方面对代码进行重构:
1.重命名:对类,接口,方法,属性等重命名,以使得更易理解
2.抽取代码:将方法内的一段代码抽取为另一个方法,以使得该段代码可以被其他方法调用,这是重构中很重要很常用的,此举可以极大的精炼代码,减少方法的代码行数
3.封装字段:将类的某个字段转换成属性,可以更加合理的控制字段的访问
4.抽取接口:将类的某些属性,方法抽取组成个接口,该类自动实现该接口
5.提升方法内的局部变量为方法的参数:这主要是在写代码的过程中会使用到
6.删除参数:将方法的一个或多个参数删掉
7.重排参数:将方法的参数顺序重新排列
实际应用中,用的最多的是1、2、3,我们可以在写代码的时候有意识的运用代码重构,这样当我们完成编码时代码的质量也能得到保证。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/weiky626/archive/2007/05/10/1602691.aspx
分享到:
相关推荐
《代码重构》一书由Martin Fowler编写,是软件开发领域中关于代码质量提升的经典之作。书中详细阐述了重构代码的必要性、重构的时机以及如何安全地重构代码。重构指的是在不改变软件外部行为的前提下,改进其内部...
改善既有的代码重构(ppt),改善既有的代码重构,改善既有的代码重构PPT
**代码重构** 代码重构是软件开发过程中的一个重要环节,它是指在不改变代码外在行为的前提下,对代码结构、设计和实现进行改进,以提高代码的可读性、可维护性和内部结构。重构的主要目标是使软件更容易理解和修改...
《.java代码重构》 代码重构是软件开发过程中的一个重要环节,它涉及到对现有代码的改进,以提高代码的可读性、可维护性,同时并不改变其外在行为。在Java编程中,代码重构是一种常见的实践,尤其在大型项目中,...
《代码重构》这本书是这个领域的经典之作,它深入探讨了重构的原理、方法和实践,旨在帮助开发者提高软件质量。 重构的重要性在于,随着时间的推移,代码往往会变得复杂且难以理解,这将导致维护成本增加,bug难以...
### 软件工程中的代码重构技术 #### 第1章:简介 **1.1 什么是代码重构** 代码重构是一种软件工程活动,旨在不改变软件的外部行为的情况下,改进其内部结构和设计。这一过程有助于增强代码的质量和可维护性。 **...
Java 代码重构经验分享 Java 代码重构是指在不改变外部行为的情况下,修改代码的内部结构,以提高代码的可维护性、可读性和可扩展性。本文总结了 Java 代码重构的经验和技术规范,包括重构要求、重构的工作、代码的...
### Python 代码重构的艺术:探索自动化重构工具 #### 一、引言 Python 作为一门高级编程语言,自1991年首次发布以来,便以其简洁易读的语法、强大的标准库支持以及广泛的跨平台特性赢得了众多开发者的青睐。随着...
**代码重构:C#与ASP.NET的实践指南** 在软件开发过程中,代码重构是一个至关重要的环节,它旨在改进代码的内部结构,不改变其外部行为。《代码重构 (C# & ASP.NET)》英文原版提供了针对这两种技术的重构策略和技巧...
书中不仅提供了丰富的重构技巧,还包括了实用的示例和最佳实践,旨在帮助开发者更高效地完成代码转换,并提升重构后代码的质量和性能。 #### 二、重构技巧与方法 **1. 语法转换** - **基础语法差异**:Kotlin在很...
3. **重构**:一旦测试通过,开发者可以对新添加的代码进行重构,以保持代码简洁、清晰,并符合设计原则,同时确保所有测试仍然通过。 代码重构是TDD的重要组成部分,它是在不改变代码外在行为的前提下,改善代码的...
### Java代码重构经验总结 在软件开发过程中,代码重构是一项重要的技能,它旨在不改变代码外部行为的前提下,改进其内部结构,从而提升代码质量和可维护性。本文将深入探讨Java代码重构的关键点,涵盖重构原则、...
《重构:改善既有代码的设计》是一本由Martin Fowler所著的经典书籍,专注于讲解如何通过重构技术来提升代码质量,使其更具可读性、可维护性和扩展性。在Java编程领域,重构是提升软件开发效率和降低维护成本的重要...
在Martin Fowler的经典著作《重构:改善既有代码的设计》中,作者深入浅出地阐述了重构的重要性以及如何有效地进行代码重构,为软件工程师们提供了一套实用的方法论。 #### 重构的目的与意义 重构的核心目标在于...
《重构:改善既有代码设计》是一本由Martin Fowler所著的经典IT著作,它详细阐述了在软件开发过程中如何通过重构来提升代码质量、可读性和维护性。重构是一种系统性的方法,旨在不改变软件外在行为的前提下,改进其...
代码重构是一种改善软件设计、提升代码可读性和可维护性的技术。它并不改变代码的外在行为,而是通过改进代码结构来提高代码质量。在这个"代码重构总结实例"中,我们将探讨一系列相关知识点,包括重构的原因、原则、...
代码重构是一种重要的软件开发实践,旨在改进代码的结构和可读性,而不改变其外部行为。这个压缩包文件“代码重构源码(包含重构前后代码)”提供了面向对象编程领域中的一个实例,具体是对影片出租店租赁程序的重构...
重构是软件开发过程中一个至关重要的环节,它旨在不改变代码外在行为的前提下,改进代码结构,使之更易理解和修改。此书深入浅出地介绍了重构的概念、原则和实践方法,对于任何Java开发者来说,都是提升编码技艺的...