- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。
8年前关闭。
重构代码的目标是什么?仅仅是为了增强代码结构吗?是为 future 的变化铺平道路吗?
最佳答案
易懂性
更直接和组织良好(分解)的代码更容易理解。
正确性
通过检查更易于理解的代码更容易识别缺陷。过于复杂、结构不佳的 Rube Goldberg 风格代码更难以检查缺陷。此外,具有组件高度一致性和组件之间松散耦合的良好组件化代码更容易进行测试。此外,更小的、格式良好的被测位减少了测试用例之间代码覆盖的重叠,这使得测试更快、更可靠(这成为一个自我强化的循环,插入越来越好的测试)。同样,更直接的代码往往更可预测和更可靠。
易于维护和演进
精心设计、高质量、易于理解的通用组件更易于使用、扩展和维护。对系统的许多更改现在更容易进行,因为它们的影响更小,而且如何进行适当的更改更加明显。
就代码质量和正确性问题而言,重构代码确实有其自身的优点,但重构最有值(value)的地方在于软件设计的维护和演变。向旧的、分解不良的代码添加新功能时,通常一个好的策略是重构目标代码,然后添加新功能。与尝试在不重构的情况下添加新功能相比,这通常会花费更少的开发工作,并且这是一种提高代码库质量的便捷方法,而无需进行大量“天上掉馅饼”的假设优势重构/重新设计工作,这些工作很难证明是合理的到管理。
关于refactoring - 重构的目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/498651/
我经常从专业人士的博客中听到一些事情,比如一有机会就重构你的代码。究竟是什么?用更简单和更少的行重写您的代码?这样做的目的是什么? 最佳答案 Refactoring代码是一个清理代码、减少困惑并提高可
我的代码非常困惑,当前的修订版几乎完成了,这意味着我想要的此修订版/冲刺的所有功能都已完成。 我应该按原样完成此修订并稍后重构它还是应该立即重构它? 最佳答案 这个没有“正确”的答案,真的是轻重缓急的
在我的部门,我们目前正在使用 ReSharper 4.0,并决定是否在下周发布时升级到 4.5。我个人是 ReSharper 的忠实粉丝,但我的一些同事指出,他们一直在使用来自 DevExpress
关于 TDD 中的红色、绿色、重构 (RGR) 工作流程的文章建议您在需要时通过编写“有罪的”代码来快速实现绿色(Kent Beck 举例说 TDD 中的“快速绿色为所有罪恶找借口”),然后重构以改进
我正在使用 clojure-maven-plugin。当我执行 cider-connect 时,我收到此消息“警告:clj-refactor 和 refactor-nrepl 不同步。它们的版本分别为
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 4年前关闭。 Improve t
我的开发环境是 Visual Studio 2010,安装了 Resharper 5.1.3000.12 和 AnkhSVN 2.1.10129.17。 我的理解是,当对文件执行 Refactor->
我想使用重构浏览器以编程方式将实例变量添加到现有类: | theClass className | className := #MyClass. theClass := (RBClass existi
你喜欢你的 CRUD 程序吗?代码生成、框架驱动还是手动编写? 最佳答案 我对代码生成器的经验是它们是一个好的开始,但是在更改完成后,我通常想手动重写模块。当然,这可能会成为维护问题。但这真的变成了“
考虑: if (something) { // Code... } 安装 CodeRush 后,建议执行以下操作: if (!something) { return; } // Cod
我想生成一个序列,稍后我可以对其进行(映射)。它应该看起来像这样: ((0 0) (0 1) (0 2) (0 3) ... (7 7)) 为了产生如此简单的结果,我现在必须执行的这段代码看起来非常非
我对编程还是很陌生,我想编写尽可能干净的代码。 这听起来像是一个愚蠢的问题,但我应该按什么顺序排列我的方法?功能上当然没关系,但布局却有很大的不同。假设我们在一个类中有以下代码: -(void)tes
是否有任何实证研究表明重构(或缺乏重构)对开发团队生产力的影响? (注意:我只是在寻找经验数据——根据我自己的经验,我个人知道重构是有效的,但我想知道是否有一些确凿的数据来支持这种说法)。 最佳答案
假设我有一个包含一堆相互依赖的函数的库,这个库太大了,我想把它拆分。有哪些算法可以找到合适的分区? 简单的例子,里面有四个函数:alpha,beta,gamma,delta。 beta 和 gamma
我正在阅读 Fowler 的“重构”,第 1 章。 在第 51 页上,您看到一部附有价格等级的电影。第一种方法是:使用继承来创建多部电影,每部电影都有其独特的 getCharge 方法来计算价格。在第
假设您在某个地方工作,其中对源代码的每次更改都必须与错误报告或功能请求相关联,并且无法对该政策进行改革。在这样的环境中,处理代码重构(即改进代码但不修复错误或添加功能的更改)的最佳方法是什么? 编写错
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: What's the best way to do a bulk namespace rename on a lar
我重构了我和其他人的代码 一直 . 当我在一个分支而不是在 Trunk 中工作时,这有时会导致一些非常痛苦的合并,特别是如果我不定期合并回 Trunk(分支上的代码慢慢地从 Trunc 移开,当人们修
我作为程序员工作的 IT 部门围绕着 30 多年的代码库(Fortran 和 C)。代码状况不佳的部分原因是 30 多年的临时考虑不周的更改,但我也怀疑其中很多与进行更改的程序员的能力有关(顺便说一句
为了能够维护我编写的代码,我必须很好地命名变量,记录我的代码,确保没有重复发生,确保抽象在起作用,从而避免黑客攻击..并谨慎地注释,因为注释经常打断我阅读本书的内容。码。 但是我见过的许多其他代码库更
我是一名优秀的程序员,十分优秀!