[情報] 慘!!!重構軟件並不會改善代碼質量

看板Soft_Job作者 (Terry)時間9年前 (2015/03/05 22:31), 編輯推噓8(8017)
留言25則, 16人參與, 最新討論串1/1
譯文: http://tinyurl.com/nsbx26g 原文: http://tinyurl.com/qgay3ff PDF : http://arxiv.org/ftp/arxiv/papers/1502/1502.03526.pdf 研究人員選用了一個小規模的應用程序(約4500行C#代碼),由Kelaniya大學的學術研 究員來調度事件和進行在線文檔的評估。 重構代碼的可維護性指數評分要比沒有重構的代碼高出4%,但作者認為,這只是一個綜 合指標。然而,使用其他內部質量指標,重構代碼的執行(深度繼承)結果與未重構代 碼一樣,而就循環複雜度、類耦合、代碼行這幾方面,重構代碼的執行效果並沒有未重 構的好。 這份調查結果僅僅是基於小型的應用程序和修復固定的重構技術,所以,作者承認其會 得到部分人的質疑。當然,對於不喜歡重構的人來說,這份結果給了它們一個不重構的 理由。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.119.121 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425565897.A.CCD.html

03/05 22:39, , 1F
重構後執行效果沒有比較好 不表示比較差
03/05 22:39, 1F

03/05 22:40, , 2F
讓執行效果變好的叫"最佳化"
03/05 22:40, 2F

03/05 22:56, , 3F
重構不是為了執行效率
03/05 22:56, 3F

03/05 23:04, , 4F
好維護,好擴充吧
03/05 23:04, 4F

03/05 23:25, , 5F
4500行的東西只能算是個POC吧...這種code數量有沒有重構
03/05 23:25, 5F

03/05 23:25, , 6F
根本差不了多少,好歹拿個45K的來試過再來發論文吧
03/05 23:25, 6F

03/05 23:31, , 7F
http://redd.it/2xwphq 在 reddit 上的討論 :)
03/05 23:31, 7F

03/05 23:40, , 8F
是為了可讀性吧 又不是寫完後就永遠不再改動
03/05 23:40, 8F

03/05 23:41, , 9F
應該說是為了之後維護 而非最佳 除非效率真的太差
03/05 23:41, 9F

03/05 23:55, , 10F
4500行c# 算POC, 哪...當初的dropbox怎麼說好了.
03/05 23:55, 10F

03/06 00:19, , 11F
研究人員一定沒遇過一個function就1000多行的.... 我有...
03/06 00:19, 11F

03/06 00:20, , 12F
我也遇過一個 function 寫 1000 多行
03/06 00:20, 12F

03/06 00:25, , 13F
不過看了一些度量的項目,就覺這份研究跟自身經驗在意的
03/06 00:25, 13F

03/06 00:26, , 14F
有些落差就是了。加上他是先主觀預選要用的重構方法,而非
03/06 00:26, 14F

03/06 00:27, , 15F
先看 code 再依情況選方法,跟實務操作的方式不太一樣
03/06 00:27, 15F

03/06 01:12, , 16F
@Lordaeron Dropbox 是 Python 吧?行數本來就會少
03/06 01:12, 16F

03/06 01:13, , 17F
而且初期的程式雖然沒有到 PoC 的程度, 但也只是 MVP
03/06 01:13, 17F

03/06 01:22, , 18F
先看CODE再選方法,這樣如何定性?
03/06 01:22, 18F

03/06 09:18, , 19F
重構不一定為了效率,是可維護擴充性
03/06 09:18, 19F

03/06 09:44, , 20F
歐都拜越修越爛。到底是車爛還是修車師父技術不好
03/06 09:44, 20F

03/06 10:47, , 21F
重構很多不是為了效率而是為了眼睛/腦子舒服一點
03/06 10:47, 21F

03/06 11:05, , 22F
能把好的bike修成壞的, 我也不曉得要怪車爛還是怪師傅
03/06 11:05, 22F

03/06 12:27, , 23F
我現在寫的function就1000行,但是一直改需求又馬上要
03/06 12:27, 23F

03/06 12:28, , 24F
只好不斷的作判別修正...重構?有那美國時間嗎?
03/06 12:28, 24F

03/06 17:05, , 25F
重構這麼小的程式 沒什麼意義ㄚ...
03/06 17:05, 25F
文章代碼(AID): #1K-6Z9pD (Soft_Job)