2007-11-02

軟體設計必讀經典(7)重構讓程式回到應有位置

本報內容由 iThome online 提供 每日出刊.2007.11.05
iThome每日新聞報
軟體設計必讀經典(7) ... iThome飛越六周年


本期目錄
    軟體設計必讀經典(7)重構讓程式回到應有位置
    新書介紹
  1109(五)資安防駭出奇招研討會,全新視野、震撼觀點
  微軟資訊安全與管理日─打造靈活安全的企業資訊架構
  微軟資訊安全與管理日─打造靈活安全的企業資訊架構
 
電子報最新消息
台灣學生文法最弱!?
 貝塔-多益考試文法讓您突破文法魔咒
老闆要學會企業查帳
 防堵員工舞弊發生,確保會計數字健全
日本行前做好功課
 怎麼叫日本商家算你便宜點?就用本報的日語來出招吧
訂閱特惠情報

iThome電腦報周刊

專欄    
軟體設計必讀經典(7)重構讓程式回到應有位置

 重構—改善既有程式的設計
 (Refactoring:Improving the
 Design of Existing Code)

 Martin Fowler/著
 侯捷、熊節/譯
 �峰出版
 售價:720元

我覺得《Refactoring:Improving the Design of Existing Code》可說是軟體界兩大奇書之一 (另一本是《Design Patterns》)。設計模式講究在寫程式之前的事先設計,而重構則講究程式寫碼後對結構的重整。

軟體設計不可能像蓋房子一樣,畫好設計圖後就能建構出穩固的高樓大廈。軟體開發要經過不斷地分析、設計、寫碼、測試與修正。唯有透過漸增與反覆,才有可能建構出高品質與強固的系統。事先的設計能保障程式碼一定程度的品質,但不可能完美無瑕,即使如作者Martin Fowler,仍需驗證與回饋程式碼,再回頭修整軟體的結構。

事前的設計與事後的重構,缺一不可
在軟體工程,運用紙上藍圖的設計模式與程式碼的重構,本來都是設計的一環,「Top-down」與「Bottom-up」本來就不應該被分成兩種方法論,兩者缺一不可,唯有互相補足,才可能建構出軟體設計開發的正回饋環路。

重構的對象是程式碼,目的在於重整程式碼背後所隱含的結構,提升軟體系統的彈性與穩定,同時讓系統容易維護、程式人寫碼更有效率。因為設計不可能一開始就正確,它會隨著設計者的經驗成長而進化;程式碼被閱讀和修改的次數也遠多於它被編寫的次數。而重構就是保持程式碼易讀、易修改的關鍵。

聰明人才能寫出傻瓜看得懂的程式碼
雖然重構的對象是程式碼,但重構本質上其實就是對軟體結構的重整,給予物件明確的責任分派 (Responsibility Assign),使物件之間能具備高內聚力(High-Cohesion)與低耦合性(Low-Coupling),如此一來,程式碼就會變得簡潔、易讀。

全文>>
TOP

周刊內容    
新書介紹

1. MIS全能網管工具箱
PCuSER研究室/著
PCuSER出版
售價:300元
本書針對中小型網路環境的MIS、或是對於網路主題有興趣的一般使用者而設計,你不必從頭學習網路技術,只要利用現成的各式工具程式,就能掌控網路的運作,並進一步加以管理、防護、最佳化。
書中共介紹超過60款網路相關工具,內容包括區域網路管理、網路防駭安全維護等議題。

2. 聚沙成塔-建置逐層擴充的 Web2.0 服務
Cal Henderson /著
莊惠淳/譯
歐萊禮出版
售價:680元
作者是Flickr.com的主要開發者,他從實際網站開發中汲取經驗,分享如何建立一個反應快速、讓使用者滿意的網站。無論是從設計PHP程式開始建立新網站,或是管理現有網站,本書都能幫助你完成:設計應用程式底層的軟體架構、選擇並執行讓程式╱設計人員和使用者都滿意的軟體開發環境等工作。

全文>>
TOP


前期文章 全部歷史文章
出刊日期 出刊主題
2007-11-04 專案管理的九大知識領域
2007-11-03 政府要積極導入自由軟體
2007-11-02 螢幕無邊框!富士通為筆電再瘦身
2007-11-01 電視/ 型錄購物業者終於可使用電子發票
2007-10-31 華碩:Eee PC穩定出貨 年底鎖定30萬台

感謝你訂閱這份電子報,下列電子報或許你會喜歡,請勾選
   iThome IT管理報    D.FUN數位享樂誌    巴哈姆特電玩報    數位遊戲王
   手機GOGO玩樂誌    ToGet 軟體報    PC uSER密技偷偷 ...    iThome每日新聞報
我要訂閱這份報紙» 我要取消這份報紙» 訂報說明
.本電子報內容由 iThome online 提供
.關於內容有任何疑問,或欲轉載請聯絡
PChome ePaper 電子報版權所有,關於電子報發送有任何疑問,請聯絡 客服
台北市敦化南路二段105號11樓 ,TEL:(02)2708-8038,FAX:(02)27094848。
刊登廣告個人連結企業合作隱私權聲明關於PChome徵人
網路家庭版權所有 Copyright PChome Online 版權所有,轉載必究

沒有留言: