SAY討論區

標題: 代碼重構方向原則指導 - 程式設計 [打印本頁]

作者: DiorCherie    時間: 2013-10-21 11:23:07     標題: 代碼重構方向原則指導 - 程式設計

120139w42gi023zex.jpg 重構是一種對軟件進行修改的行為,但它並不改變軟件的功能特徵,而是通過讓軟件程序更清晰,更簡潔和更條理來改進軟件的質量。代碼重構之於軟件,相當於結構修改之於散文。每次人們對如何對代碼進行重構的討論就像是討論如果對一篇文學作品進行修訂一樣無休無止。所有人都知道應該根據項目的自身情況來對代碼進行重構,而重構是無止境的。莫扎特從來不不對他的作品進行修訂,特羅洛普對自己作品修訂的恰到好處,大多數作家認為他們倆這樣做都是合適的,但他們的合適對於你我來說未必是合適的。
最常見的基本重構方法可以歸納為兩個方向。通過歸納方法將一個長的過程分解為小的可以重用的組件,和通過內聯(inline)方法來消除那些不夠份量的小方法。我們可以提煉方法來讓大量的子類共享相同的功能特徵,我們可以下放方法來讓只有用到這些功能的子類才知道它們的存在。重構就是爬山,通過一步一步的小的提高來逐漸的改進整體的質量,但在重構時,我們如何知道哪種方法是上山的正確道路?
關於代碼地形學的這個問題公認的方法有兩種。去除有異味的代碼和重構成模式。如果能做到這樣,當然是很好的。就像是糾正作文里的一個語法錯誤或不恰當的比喻。如果我們可以找到這些四處隱藏的有異味的代碼,將它們重寫成整潔的,條理的,結構化的形式,何樂而不為。但這些都是特殊情況。如果沒有明顯的模式來重構,或沒有很直接的方法來去除代碼異味,那該怎麼辦呢?
這才是我們如今編程藝術的中心問題,而很少人討論這些。通常我們討論這些問題時都是羅列出更多更長的有異味的代碼模式的清單,但這並不是解決問題的方法。代碼異味應該是我們公認的不好的東西,而不是那些置之不理也無妨的事情。我們經常會說到老闆不給我們重構的機會,甚至代碼有明顯的異味,老闆們認為這是浪費時間。並不是每個人都有懂軟件的老闆。我很吃驚為什麼只有很少的討論談到點子上。。也許我這篇文章才說到問題關鍵處。
我的觀點,當重構沒有現成的明顯的方向時,我們可以遵循下面的原則:

[英文原文:Hill Climbing (Wonkish) ]

附件: [120139w42gi023zex.jpg] 120139w42gi023zex.jpg (2013-10-21 11:23:07, 0 Bytes) / 下載次數 0
http://forum.go2tutor.com/forum.php?mod=attachment&aid=NDQyNTY1fDZhMzg2NTU0fDE3ODMxOTIyMjl8MHww
作者: ILOVEU5    時間: 2013-10-21 12:08:23

呵呵 高高實在是高~~~~
作者: weltergf    時間: 2013-10-21 12:35:06

頂頂更健康,越頂吃的越香。
作者: skykingdom    時間: 2013-10-21 13:10:40

不錯不錯,我喜歡看  
作者: 太陽穴    時間: 2013-10-21 13:55:40

希望大家都有好運
作者: HO0907    時間: 2013-10-21 14:43:31

知道了 不錯~~~  
作者: 世界沒日    時間: 2013-10-21 15:26:01

樓主在那邊抄的呢
作者: yan4327    時間: 2013-10-21 17:01:32

你還想說什麼啊....
作者: kensiu123    時間: 2013-10-21 17:42:48

加油啊!!!!頂哦!!!!!  
作者: runrunscooter    時間: 2013-10-21 20:00:13

應該加分
作者: 切雞飯    時間: 2013-10-21 21:17:11

好啊,謝樓主
作者: 9394    時間: 2013-10-22 00:28:03

我又回復了
作者: easonchan    時間: 2013-10-22 04:21:04

能告訴我去那邊分享的嗎?
作者: juny0385    時間: 2013-10-22 05:55:31

鑒定完畢.!
作者: 十兵衛    時間: 2013-10-22 08:25:54

尼伊達是各好論壇,以後天天來
作者: hkgordan    時間: 2013-10-22 16:15:28

沒人理我。。
作者: 曾冇權    時間: 2013-10-23 08:09:20

好帖子,要頂!
作者: 世界沒日    時間: 2013-10-24 06:54:17

這樣的貼子,不頂說不過去啊
作者: hillmen    時間: 2013-10-25 06:50:49

我看不太到喔
作者: plas_hoz    時間: 2013-10-26 05:03:55

要是文章和圖片能多一點,就好了
作者: 我不是傻鴨    時間: 2013-10-26 09:10:36

原來是這樣
作者: chrity__summer    時間: 2013-10-26 18:20:23

是樓主原創嗎
作者: ~Muscle~    時間: 2013-10-27 06:14:31

這個帖不錯!!
作者: 十兵衛    時間: 2013-10-27 13:44:37

這是一個好論壇,應該要多多來
作者: 太陽穴    時間: 2013-10-28 00:16:57

說嘛1~~~想說什麼就說什麼嘛~~  
作者: nh88    時間: 2013-10-28 08:12:34

回覆,是讓樓主更有心去發帖
作者: 花家姐    時間: 2013-10-28 19:10:12

這樣的貼子,不頂說不過去啊
作者: a_c_e06    時間: 2013-10-29 04:11:56

誰都不容易啊 ~~
作者: 正義西門慶    時間: 2013-10-29 09:00:02

有才的不在少數啊
作者: nh88    時間: 2013-10-29 19:03:59

我快厭倦回復了
作者: [email protected]    時間: 2013-10-30 01:51:48

你還想說什麼啊....
作者: 花家姐    時間: 2013-10-30 08:45:13

頂的就是你
作者: Disy    時間: 2013-10-30 17:34:42

這個貼好像之前沒見過  
作者: andykom28    時間: 2013-10-31 02:03:11

圍觀來了哦
作者: freegold    時間: 2013-10-31 07:15:24

原來是這樣




歡迎光臨 SAY討論區 (http://forum.go2tutor.com/) Powered by Discuz! X2