最近需要重构一个项目的代码。纯代码2.5W行。
质量就不多说了,看到这样的太多了。
就是开始的时候不知道怎么下手。
本来想通过大的架构的改变直接重构,但。。。风险太大。。。
比如,前台使用state模式进行重构,设计的业务有10几个,一来时间不允许,二来改完可能测试不到。
于是,找了一个统计代码圈复杂度、方法行数等质量参数的工具,挨个进行修改。。。按照业务逻辑提出小方法---把功能类似的代码放到单独的类中--这些都是工具做的,所以不存在什么风险。
经过几个类的修改之后,初步显现出一些效果:
1.每个类的行数变少了,职责单一了,比如一个2000行的类,经过各种提方法,抽出重复代码,变为了2个400行左右的类。
2.由于1,多人的协作冲突减少了--比如两个人做两个功能,需要改同一个类,修改后,两人可以改自己需要的类不需要担心代码提交冲突了。
3.修改后的类,很容易就发现可以使用一些设计模式进行重构---简单了、安全了。
看,简单的做一些重构就可以收获这么多,而且时间消耗也不到,可以说性价比很高。
重构不是革命、不需要轰轰烈烈。
只要细心、耐心。
最好是经常重构,以免技术债务越来越多----相应的利息也会更多,这点任何有经验的开发人员应该都有深刻的体会。
所以,没事的时候,多跑跑checkstyle、findbugs,一些质量检查的小工具,可能看起来改了效果不大,但积累起来的效果是不可估量的。
养成好的习惯吧,重构不是什么有技术含量的事,起码对于国内大多数代码来说。
当小重构到一定程度的时候----基本没有重复代码、类和方法职责单一、没有编译器警告。---你会发现大的重构是那么自然,那么的水到渠成。
重构只是个体力活而已。
PS:重构需要自动测试来支持。如果实在没有,手工测试吧。。。更是体力活。。。
分享到:
相关推荐
在描述中提到的"对经验模态分解后的各分量IMF进行重构代码,函数可直接调用",意味着这个压缩包中包含了一个名为"EMDchonggou.m"的MATLAB脚本文件,该文件提供了实现IMF重构功能的代码。用户可以直接运行这个函数,...
《重构:改善既有代码设计》是一本由Martin Fowler所著的经典IT著作,它详细阐述了在软件开发过程中如何通过重构来提升代码质量、可读性和维护性。重构是一种系统性的方法,旨在不改变软件外在行为的前提下,改进其...
《软件重构讲义》是关于软件开发中重构技术的一份资料,主要涵盖了重构的基本概念、目的、...这份资料为开发者提供了一个深入理解重构概念和技术的框架,对于提升个人和团队的开发效率及软件质量具有重要的指导价值。
### 重构(Refactoring):改善现有代码的设计 #### 一、重构概念解析 重构(Refactoring)是一种软件工程中的重要技术,它指的是在不改变软件系统外部行为的前提下,通过改进其内部结构来提高代码质量的过程。重构...
本资源主要讲解了软件设计中的重构(Refactoring)概念,并提供了一个实际案例来演示如何通过重构来改进代码结构。 什么是重构? 重构是软件设计中一种重要的技术,它的目的是为了使代码变得更加清晰、简洁、易...
重构是软件开发过程中的一个重要环节,它关注于改善已有代码的设计,以提高代码的可读性和维护性,同时保持原有功能不变。通过重构,程序员能够更有效地管理代码,提升开发效率,减少错误,并促进团队成员之间的沟通...
重构技术的要点可以分为以下几个方面: 1. 理解重构的必要性:在软件开发过程中,随着项目的进展,代码往往会因为功能的增加或变化变得越来越复杂,甚至出现重复代码或设计上的缺陷。这种情况下,如果不进行重构,...
书中详细介绍了多个常见的设计模式,如工厂模式、单例模式、观察者模式等,并展示了如何通过一系列的重构步骤,将现有的代码结构转换成这些模式。这样做不仅提高了代码的可读性和可维护性,还能使系统更易于扩展和...
在IT领域,稀疏重构算法是信号处理和数据科学中的一个重要概念,特别是在压缩感知理论(Compressive Sensing, CS)中。压缩感知是一种革命性的理论,它表明,如果一个信号可以用较少的非零元素(即稀疏表示)来描述...
重构,正如标题所言,包括了“重构介绍”、“重构原则”以及“代码的坏味道”等多个方面,旨在提高代码的可读性、可维护性和整体质量。 首先,我们来探讨“重构介绍”。重构是一种系统性的修改现有代码的过程,目的...
重构是软件开发过程中的一个重要环节,它涉及到代码的优化、设计改进和质量提升,而不改变程序的外部行为。本文将详细探讨重构的目的、对象、时机和方法,帮助开发者理解和掌握重构的核心理念。 **重构的目的(Why...
代码重构是软件开发过程中的一个重要环节,它是指在不改变代码外在行为的前提下,对代码结构、设计和实现进行改进,以提高代码的可读性、可维护性和内部结构。重构的主要目标是使软件更容易理解和修改,而不仅仅是...
在Matlab中,实现压缩感知重构通常涉及以下几个步骤: 1. **信号采样**:根据压缩感知理论,通过一个测量矩阵(如随机矩阵或离散余弦变换矩阵)对原始信号进行采样,得到压缩后的观测值。 2. **稀疏表示**:将原始...
相空间重构是复杂系统动力学研究中的一个重要方法,它通过从单变量的时间序列数据中恢复出系统的多维相空间,从而揭示系统的行为特征。在MATLAB中,我们可以利用各种算法来实现这一过程,以深入理解非线性系统的动态...
信号的小波分解与重构原理 小波分解是一种信号处理技术,它可以将信号分解成多个分量,每个分量对应一个特定的频率范围。小波分解的主要应用包括信号压缩、去噪、特征提取等。在小波分解中,我们通常使用离散小波...
重构是软件开发中的一个关键概念,指的是在不改变软件外部行为的前提下,对代码进行修改以改进其内部结构。这一过程旨在提高代码的可读性、可维护性和可扩展性,同时减少缺陷。书中的PDF和CHM版本可能涵盖了以下主要...
重构是软件开发过程中的一个重要环节,它涉及到在不改变软件外部行为的前提下,改善其内部结构。通过阅读本书,读者将深入理解如何在实际项目中有效地实施重构。 书中的内容分为多个部分,详细阐述了重构的各个方面...