开发者资讯

 首页 > 开发者资讯 > 编程开发 > 你信吗?重构软件并不会改善代码质量重构软件,就是重组现有的源码,让其更加易读、高效和可维护,这也是所有开发人员时不时都会做的事情。然而,最新研发发现,重构并不会给软件代码质量带来多大的提升。

你信吗?重构软件并不会改善代码质量重构软件,就是重组现有的源码,让其更加易读、高效和可维护,这也是所有开发人员时不时都会做的事情。然而,最新研发发现,重构并不会给软件代码质量带来多大的提升。

分享到:
【字体:
导读:
          重构软件,就是重组现有的源码,让其更加易读、高效和可维护,这也是所有开发人员时不时都会做的事情。然而,最新研发发现,重构并不会给软件代码质量带来多大的提升。Mike Mozart最新研发发现,与流行的信念相

重构软件,就是重组现有的源码,让其更加易读、高效和可维护,这也是所有开发人员时不时都会做的事情。然而,最新研发发现,重构并不会给软件代码质量带来多大的提升。

Mike Mozart

最新研发发现,与流行的信念相反,重组软件代码并不会带来更好地可维护性和效率。

重构软件,就是重组现有的源码,让其更加易读、高效和可维护,这也是所有开发人员时不时都会做的事情。然而,最新研发发现,重构并不会给软件代码质量带来多大的提升。

研究员Sri Lanka做了项调查,目的是为了测试常用的重构技术是否会改进内外部软件质量。最近,他把调查结果发布到了国际周刊《Software Engineering & Applications》上,标题为:An Empirical Evaluation of Impact of Refactoring On Internal and External Measures of Code Quality。

研究人员选用了一个小规模的应用程序(约4500行C#代码),由Kelaniya大学的学术研究员来调度事件和进行在线文档的评估。研究人员把十种常见的重构技术都运用到代码中(例如:以子类取代类型码、Replace Conditional with Polymorphism等)。对软件内外部代码都进行了重构,并且与未重构的代码进行了评测和评估,得出的主要结论有:

 

  1. 重构并未让代码易于解析
  2. 重构并未让代码易于改变
  3. 重构并未让代码运行加快
  4. 重构并未提高资源利用率

 

与此同时,通过调查发现,重构的代码更加易于维护。

重构代码的可维护性指数评分要比没有重构的代码高出4%,但作者认为,这只是一个综合指标。然而,使用其他内部质量指标,重构代码的执行(深度继承)结果与未重构代码一样,而就循环复杂度、类耦合、代码行这几方面,重构代码的执行效果并没有未重构的好。

这份调查结果仅仅是基于小型的应用程序和修复固定的重构技术,所以,作者承认其会得到部分人的质疑。当然,对于不喜欢重构的人来说,这份结果给了它们一个不重构的理由。

最后

通常,只要一提到重构,大家脑海首先蹦出的是重构所带来的好处,然而当大家面对需要重构的代码时,表情肯定是难过甚至绝望的。那么,在花费了时间和精力后,重构后的代码是否能有想象中的那么高效、易读、可维护呢?有过重构经验的程序员不妨来跟我们分享一下心得体会吧。(编译:张红月)



原文:csdn

分享到:
踏上编程大道,从 Python 开始成为神级 C...
电脑科学,或说计算机科学,是个在美国不断成长的产业,薪资报酬也很高。市场上永远存在著对天赋异禀的新锐工程师的需求,这就是为什麽「学习程式语言」一直是一件有魅力的事情。 但是,就跟任何技能一样,我们常常不知道从哪个地方开始学起,以下是几个最适合程式语言初学者,一开始,可以跟著做的几个步骤。 入门的编程...
Web开发从前端、后端、编程语言、到框架...
作为一篇Web开发初学者指南,本文从学习什么出发到如何专攻。从前端、后端,到编程语言,再到框架,或许对打算进军Web开发的您有所帮助。 如果你正在阅读这篇文章,你可能是对Web开发有某种兴趣,甚至你开始想去学习Web开发。本文则展示了一个成为一个Web开发者可以遵循的途径。作为一篇初学者指南,本文从学习什么出发...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……