JO JO Lineage

 找回密碼
 立即註冊
查看: 3|回復: 0

了解什么是重构及其主要技术

[複製鏈接]

1

主題

1

帖子

5

積分

新手上路

Rank: 1

積分
5
發表於 2024-3-21 11:37:17 | 顯示全部樓層 |閱讀模式

对重构过程产生疑问并不罕见,尤其是关于重构的内容、时间、原因等。让我们在这篇文章中稍微讨论一下这个问题! 重构出现于年代,是一种改进代码的过程,不一定涉及创建新功能,将设计不佳或杂乱的代码转变为设计简单的干净代码,提高其可读性和效率。 这是一个简单的概念,但在实践中,我们在执行此过程时会遇到常见的困难,特别是当它是一个高度复杂的大型项目时。处理这个问题的最佳方法是规划和记录。 但为什么要重构代码呢?重构可以防止代码生命周期中的恶化,这并不罕见。另一个原因是提高对代码的理解,方便维护和著名的bug。 此外,至关重要的是所有代码都具有自动化测试覆盖率,以确保外部行为没有改变。 隐藏内容 极限编程 (XP) 重构和整洁的代码 什么时候应该重构? 如何进行重构? 重构技术 更换技术 一个小例子…… 极限编程(XP) XP(极限编程)是一种专注于软件开发的敏捷方法。它具有在软件开发阶段必须应用的价值观和原则。 五个核心价值观是:沟通、简单、反馈、勇气和尊重。 从这个意义上讲,它具有快速反馈、假设简单、增量变化、拥抱变化和高质量工作等基本原则。 极限编程实践由流程的主要核心组成,强调了一个成功项目的必要和充分的价值:呈现客户、计划、站会、结对编程、不断测试、集体代码、代码标准化、简单设计、持续集成、简短的版本以及我们在本文中介绍的实践——重构。 如何处理遗留软件:完整指南! 重构和整洁的代码 使代码干净也是一个重构过程,或者至少可以是,这取决于在版本开发过程中是否采取了这种措施。 关于这个主题的参考文献是《Clean Code: A Handbook of Agile Software Craftsmanship》。

这是我们理解和应用清洁代码实践的最佳参考资料之一。 干净的代码无非就是简单、优雅、直接的代码。对于任何出于维护目的而处理代码的开发人员来说,都很容易理解。但不要仅仅被一种概念或定义冲昏头脑。Robert C Martin 透露,有多少程序员,就应该有 币安应用用户数据 多少清洁代码的定义。一些干净的代码实践是: 使用有意义的名称。 短函数。 好的评论。 代码格式化。 错误处理。 ETC。 重构代码以使其干净意味着: 删除所有重复的代码。 删除不必要的类,通过明确的职责使它们的数量最小化。 以所有测试都通过的方式进行。 实践干净的代码:从现在开始! 我们什么时候应该重构? 我们可以而且应该在以下情况下进行重构: 我们是第一次实施一些东西。 我们做一些以前已经做过的事情。以这样的方式重做,以免重复。 我们必须重新做一些事情,甚至进行审查。 如何进行重构? 要开始重构代码,我们必须始终牢记: 如果可能的话,我们必须在小范围内执行一系列原子更改。随着时间的推移以及整个程序的运行,这将使现有代码变得越来越好。 以下是重构过程的清单: 该代码必须符合清洁代码实践。 没有新功能的开发。 重构后测试全部通过。



为了实现这一目标,我们可以使用一些技术来重构我们的代码。 重构技巧 提取方法。 问题:您有一个可以分组的代码片段。 解决方案:将此代码移至新的单独方法(或函数)中,并用方法调用替换旧代码。 网上方法。 问题:当方法体比方法本身更明显时,请使用此技术。 解决方案:将方法的调用替换为方法内容,并在重构过程中删除方法本身。 提取变量。 问题:你的表达方式很难理解。 解决方案:将表达式或其部分的结果放入不言自明的单独变量中。 拆分临时变量。 问题:您有一个局部变量,用于在方法内存储多个中间值(循环变量除外)。 解决方案:对不同的值使用不同的变量。每个变量应该只负责一件特定的事情。 删除对参数的分配。 问题:某些值被分配给方法体内的参数。 解决方案:重构时使用局部变量代替参数。 更换技巧 温度内联。 问题:您有一个临时变量,它被分配了一个简单表达式的结果,仅此而已。 解决方案:在重构中用表达式本身替换对变量的引用。 用查询替换 Tem。 问题:您将表达式的结果放入局部变量中,以便稍后在代码中使用。 解决方案:将整个表达式移至单独的方法并返回结果。查询方法而不是使用变量。如有必要,将新方法合并到其他方法中。 将方法替换为方法对象。 问题:您有一个很长的方法,其中局部变量相互交织在一起,以至于您无法应用提取方法。 解决方案:将方法改造为单独的类,使局部变量成为类字段。然后你可以在同一个类中拆分方法。 代理算法。 问题:用新算法替换现有算法。 解决方案:用新的算法替换实现该算法的方法体。
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



手機版|JO JO Lineage

GMT+8, 2025-4-26 04:36 , Processed in 0.065466 second(s), 19 queries .

抗攻擊 by GameHost X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |