成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

重構(gòu)真的能提高代碼質(zhì)量嗎?

開發(fā) 后端 前端
重構(gòu)軟件,也就是,重組現(xiàn)有的源代碼,以使其更高效,更具可讀性和可維護性,這可能是所有開發(fā)人員時不時在做的一件事情。當然,重構(gòu)背后隱含的假設(shè) 是,將來的收益——可節(jié)省的人力物力,要能大于現(xiàn)在投入的成本——所耗費的時間和努力。然而,新的實驗研究表明,情況可能并不像你想像得那樣美好,重構(gòu)或 許并不能大幅度地改善軟件代碼質(zhì)量,有時候甚至是完全沒有起到一點改善作用。
  與傳統(tǒng)觀點相反,新的研究發(fā)現(xiàn),想要為了更高效和更具可維護性,而去重組軟件代碼,我們所花的時間和精力并不一定是值得的。

重構(gòu)軟件,也就是,重組現(xiàn)有的源代碼,以使其更高效,更具可讀性和可維護性,這可能是所有開發(fā)人員時不時在做的一件事情。當然,重構(gòu)背后隱含的假設(shè) 是,將來的收益——可節(jié)省的人力物力,要能大于現(xiàn)在投入的成本——所耗費的時間和努力。然而,新的實驗研究表明,情況可能并不像你想像得那樣美好,重構(gòu)或 許并不能大幅度地改善軟件代碼質(zhì)量,有時候甚至是完全沒有起到一點改善作用。

[[144796]]

此研究是由研究人員在斯里蘭卡完成,近期發(fā)表于國際周刊“International Journal of Software Engineering & Applications”上,題目為《An Empirical Evaluation of Impact of Refactoring On Internal and External Measures of Code Quality》。目的是測試常見的重構(gòu)技術(shù)是否真的可以改進外部(例如,代碼是不是更易于維護?)和內(nèi)部(例如,代碼行數(shù))兩個方面的軟件質(zhì)量。

研究人員選擇了一個小型的應(yīng)用程序(約4500行C#代碼),原先是Kelaniya大學的教學人員用于制定日程計劃和管理在線文檔的應(yīng)用程序。然后在其代碼上實施10種常見的重構(gòu)技術(shù)(例如,用子類替換類型碼,用多態(tài)替換條件語句)。

為了衡量重構(gòu)對外部軟件質(zhì)量的效果,研究人員從Kelaniya大學,挑了一些懂得面向?qū)ο缶幊毯虲#的計算機專業(yè)的學生。其中一半學生通過可分析性和可變性評價了重構(gòu)后的代碼,而另一半則去評估未重構(gòu)的代碼。

運行每個代碼庫1000次然后平均結(jié)果,來分別衡量重構(gòu)和非重構(gòu)代碼的執(zhí)行時間和資源利用。

使用Visual Studio分別計算重構(gòu)和非重構(gòu)內(nèi)部代碼的軟件質(zhì)量。這些指標是:可維護性指數(shù)、時間復(fù)雜度、繼承深度、類耦合,以及代碼行。

下面是這些研究人員得出的主要結(jié)論:

  • 重構(gòu)并不能使得代碼更易于分析

  • 重構(gòu)并不能使得代碼更容易改變

  • 重構(gòu)代碼并不能使得代碼跑得更快

  • 重構(gòu)代碼不會導(dǎo)致資源利用降低

***的利好是,有證據(jù)表明,重構(gòu)過的代碼的確更易于維護

不過,上述研究結(jié)果依然待驗證,因為試驗對象是一個小樣本——一個小型的應(yīng)用程序和固定的重構(gòu)技術(shù)組。所以,就目前而言,此結(jié)果還是別用到實際工作上的好。

譯文鏈接:http://www.codeceo.com/article/refactor-and-code-qulity.html
英文原文:Study finds that refactoring doesn’t improve code quality

 
責任編輯:王雪燕 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2016-02-23 11:03:03

代碼質(zhì)量編寫函數(shù)

2023-01-06 18:31:46

準確命名

2009-06-03 15:31:40

Eclipse插件提高代碼質(zhì)量

2022-08-04 09:01:45

TypeScriptMicrosoft

2012-04-09 15:40:31

PHP

2016-02-24 16:03:34

代碼質(zhì)量編寫函數(shù)

2024-05-21 10:40:09

開發(fā)前端裝飾器

2012-11-07 09:48:26

2010-06-21 10:09:47

Java

2019-04-03 08:10:17

代碼架構(gòu)信息

2024-08-06 12:35:42

C#代碼重構(gòu)

2022-11-21 14:02:14

2017-08-08 09:18:03

數(shù)據(jù)大數(shù)據(jù)云計算

2012-07-30 13:15:18

代碼

2015-07-15 10:27:48

Android代碼質(zhì)量工具

2023-10-16 09:30:06

Java代碼

2020-06-16 08:32:00

人工智能技術(shù)機器學習

2010-05-20 09:07:30

jQuery

2024-02-19 14:50:42

編碼原則軟件開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲国产精品久久久 | 中文字幕av亚洲精品一部二部 | 日韩在线三级 | 成人免费精品 | 欧美伊人久久久久久久久影院 | 久久久久国产一区二区三区四区 | 欧美视频一区二区三区 | 日韩三级 | 午夜影视在线观看 | 免费观看的av | 爱爱免费视频 | 在线视频h | 国产在线一区二区三区 | 粉嫩高清一区二区三区 | 久久一区二区视频 | 99re热精品视频 | 欧美激情一区二区 | 午夜男人天堂 | 91精品国产乱码久久久久久久久 | 免费艹逼视频 | 久久久久久久久久久蜜桃 | 免费看国产a | 国产性生活一级片 | 久久久国产精品入口麻豆 | 人和拘一级毛片c | 我我色综合 | 成人高清视频在线观看 | 国产丝袜一区二区三区免费视频 | 超碰日本 | 日韩美女在线看免费观看 | 亚洲欧美中文日韩在线v日本 | 91在线观看免费 | 国产高清免费 | 91免费在线视频 | 久久se精品一区精品二区 | 久久国产亚洲 | 毛片免费视频 | 免费在线观看成人 | 午夜爱爱网 | 亚洲免费观看视频 | 日韩激情一区 |