`

重构

阅读更多

何谓重构:

对软件内部结构的一种调整,目标是在不改变软件行为(软件之可查行为)的情况下,提高其可理解性,降低修改成本。

为何重构:

1.改进软件设计:经常性的重构,可以帮助代码保持自己该有的形态。其中一个重要方向是消除重复代码(Duplicate Code),这个方向的重要性主要是着眼与未来,重构后的代码的运行轨迹几乎不会发生改变,所以它的性能不会有明显提高,但可以提高以后修改的效率。

2.使软件更容易被理解:随着代码的简洁,还可以看到一些关于设计层方面的东西。所以Ralph Johnson这种早期的重构称为"擦掉玻璃上的污垢,使你看得更远".

3.帮助你找到BUG:随着对代码理解的深入,搞清楚代码结构的同时,想不找到BUG都难

4.提高编程速度:良好的设计才能达到快速开发,否则会将大量时间用在调试,理解系统,寻找重复代码上。

何时重构:

1.Don Roberts提出了三次法则:第一次做某件事情时,只管去做。第二次做某件事情时,会产生反感,但最后还是做了。第3次做某件事情时,就应该重构了

2.在添加新功能的时候一并重构。其中一个原因是在前进过程中,把代码结构理清,可以从代码中学到更多东西。还有另一个重要特性,当前代码无法帮助我快速的完成另一个新功能。

3.修补错误时一并重构。在调试过程中运用重构,多半是为了让代码具有更高的可读性。当发生错误时,这个就是需要重构的信号,因为现在的代码还不够清晰的让你一目了然的发现错误。

4.复审代码时一并重构。

分享到:
评论

相关推荐

    【EMD重构】.rar_EMD重构函数_IMF变量重构_tomorrowi4n_模态分解_重构

    标题中的"【EMD重构】.rar"指的是包含EMD重构过程的压缩文件,而"EMD重构函数"是指在处理EMD分解后的IMF分量时使用的特定函数。"IMF变量重构"则是指将分解得到的各个IMF重新组合成原始信号的过程。"tomorrowi4n"可能...

    重构(Refactoring)英文版

    ### 重构(Refactoring):改善现有代码的设计 #### 一、重构概念解析 重构(Refactoring)是一种软件工程中的重要技术,它指的是在不改变软件系统外部行为的前提下,通过改进其内部结构来提高代码质量的过程。重构...

    重构_重构_改善既有代码_

    《重构:改善既有代码设计》是一本由Martin Fowler所著的经典IT著作,它详细阐述了在软件开发过程中如何通过重构来提升代码质量、可读性和维护性。重构是一种系统性的方法,旨在不改变软件外在行为的前提下,改进其...

    用于信号的EMD、EEMD、VMD分解_vmd重构_故障诊断emd_故障诊断_故障重构_VMD信号重构

    资源名:用于信号的EMD、EEMD、VMD分解_vmd重构_故障诊断emd_故障诊断_故障重构_VMD信号重构 资源类型:matlab项目全套源码 源码介绍:用于信号的分解、降噪和重构,实现故障诊断 源码说明: 全部项目源码都是经过...

    相空间重构,相空间重构理论,matlab

    相空间重构是复杂系统动力学研究中的一个重要方法,它通过从单变量的时间序列数据中恢复出系统的多维相空间,从而揭示系统的行为特征。在MATLAB中,我们可以利用各种算法来实现这一过程,以深入理解非线性系统的动态...

    Matlab重构算法_matlab_matlab压缩感知重构算法程序实现_压缩感知_

    在本文中,我们将深入探讨基于Matlab的压缩感知(Compressive Sensing,简称CS)重构算法的实现。压缩感知是一种理论先进的信号处理方法,它允许我们以远低于奈奎斯特定理所要求的采样率捕获信号,并能恢复原始信号...

    三维重构 、基于切片的三维重构 、三维重构的缺陷检测 ,matlab GUI界面的形式

    三维重构 可以检测有效的系统缺陷,进行缺陷的定位,缺陷体积的测量等,如何进行三维重构(3D reconstuction)的输入是各种三维以下的数据,比如纯二维的RGB图像(序列)、带有深度信息的RGBD数据等,出来的是三维...

    33节点系统重构程序实现_33节点重构_33节点配电网重构_配电网IEEE—33_配电网_33节点

    在电力系统领域,33节点系统重构是一种针对配电网优化设计的方法,主要应用于小型到中型的配电网络。本文将详细解析33节点系统重构的实现过程及其在IEEE-33节点配电网中的应用。 首先,33节点系统通常代表一个具有...

    重构改善既有代码的设计PPT课件

    重构是软件开发过程中的一个重要环节,它关注于改善已有代码的设计,以提高代码的可读性和维护性,同时保持原有功能不变。通过重构,程序员能够更有效地管理代码,提升开发效率,减少错误,并促进团队成员之间的沟通...

    配电网重构_配电网_配电网重构_电网重构_非线性优化_配电网络重构_

    配电网重构是电力系统领域中的一个重要研究课题,它涉及到电力系统的稳定运行与经济效率。配电网重构的目标是在满足一系列约束条件下,通过改变开关状态,优化网络结构,以达到提高供电可靠性、降低运营成本、改善...

    POD.rar_POD 重构_POD正交分解_we75t_本征正交分解_流场重构

    在这个主题中,"POD.rar_POD 重构_POD正交分解_we75t_本征正交分解_流场重构" 提到了一种名为“主成分分析”(Principal Component Analysis,PCA)在流体力学中的应用,通常称为“正交分解”(Proper Orthogonal ...

    Martin Fowler《重构——改善既有代码设计》(中文版)

    《重构——改善既有代码设计》是软件工程领域的一部经典著作,作者Martin Fowler,该书与《设计模式》被并称为软件工程的双雄。《重构》一书的主旨在于向读者展示重构的过程与方法,即通过一系列小的、有步骤的改变...

    重构-改善既有代码的设计

    一直很喜欢重构这本书,但是由于自己记性不太好,书看过之后其中的方法总是记不住,于是想如果有电子版的重构书就好了,工作中遇到重构的问题可以随时打开查阅。在网上搜索了许久,发现重构这本书有英文chm版本的,...

    信号的小波分解与重构原理

    信号的小波分解与重构原理 小波分解是一种信号处理技术,它可以将信号分解成多个分量,每个分量对应一个特定的频率范围。小波分解的主要应用包括信号压缩、去噪、特征提取等。在小波分解中,我们通常使用离散小波...

    重构 改善既有代码的设计 中文高清完整版pdf

    ### 重构:改善既有代码的设计 #### 书籍概述与核心价值 《重构:改善既有代码的设计》这本书由Martin Fowler撰写,是一本关于软件工程领域的经典著作。它详细介绍了如何通过一系列小步骤对现有代码进行改进,进而...

    LBM3D.rar_三维多孔介质_三维重构_多孔_曲面重构_曲面重构MATLAB

    标题中的“LBM3D.rar”是一个压缩包文件,它包含了一个名为“LBM3D.m”的MATLAB脚本,这个脚本主要用于三维多孔介质的建模与曲面重构。三维多孔介质是一种复杂的物理结构,常见于地质、材料科学和环境工程等领域,其...

    重构.pdf_电子版_pdf版

    重构.pdf_电子版_pdf版 本资源主要讲解了软件设计中的重构(Refactoring)概念,并提供了一个实际案例来演示如何通过重构来改进代码结构。 什么是重构? 重构是软件设计中一种重要的技术,它的目的是为了使代码变...

    27丨理论一:什么情况下要重构?到底重构什么?又该如何重构?1

    重构是软件开发过程中的一个重要环节,它涉及到代码的优化、设计改进和质量提升,而不改变程序的外部行为。本文将详细探讨重构的目的、对象、时机和方法,帮助开发者理解和掌握重构的核心理念。 **重构的目的(Why...

Global site tag (gtag.js) - Google Analytics