-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
重構 改善既有代碼的設計 版權信息
- ISBN:9787115221704
- 條形碼:9787115221704 ; 978-7-115-22170-4
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
重構 改善既有代碼的設計 本書特色
“這《重構:改善既有代碼的設計》之于重構就相當于韻譜之于作詩。一個翻著韻書作詩的詩人一定是蹩腳的,但好的詩人卻要對那109個韻部了然于胸;同樣,一個好的程序員要求能夠主動自然地重構代碼,雖不應翻著重構手冊干活,但需對《重構:改善既有代碼的設計》中提到的70多個重構方法成竹在胸。然而,在達到這一境界之前,需要不斷的實踐和經驗積累,并且要先讀讀Fowler的這《重構:改善既有代碼的設計》。” “一口氣讀完了這《重構:改善既有代碼的設計》,感覺書中作者對代碼的整理不像是一種技術,更像是一種藝術。” “太經典了,看這《重構:改善既有代碼的設計》真有醍醐灌頂的感覺! “處于金字塔頂部的書不多,而這一《重構:改善既有代碼的設計》恰恰就是,很幸運我看到了它! “這《重構:改善既有代碼的設計》本質上是向我們推薦了一種優秀的編程習慣和編程態度。在領會《重構:改善既有代碼的設計》思想的同時,我們也應該培養一種精益求精的工作態度,探索一條更適合自己的重構道路! “今年已經看了兩遍,每次都有很大的收獲。特別喜歡其中對其他章節的索引,當你把它作為一個手邊隨時翻閱的參考書看時,它不知不覺引導你讀了很多內容,問題也在不知不覺中有了求解思路,*終得以解決。” “不要寫完代碼就束之高閣,適當地優化代碼結構,能夠為以后的開發帶來許多方便,這《重構:改善既有代碼的設計》就向你介紹了這方面的技巧,說得非常詳細。” “程序幾乎離不開重構,但如何更加迅速有效地重構卻一直沒有系統性的指導!吨貥:改善既有代碼的設計》就是這樣的經典巨著,有了它,重構不再煩瑣!”軟件開發的不朽經典,生動闡述重構原理和具體做法,普通程序員進階到編程高手必須修煉的秘笈。重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是《重構:改善既有代碼的設計》原版的出版,使重構終于從編程高手們的小圈子走出,成為眾多普通程序員日常開發工作中不可或缺的一部分!吨貥:改善既有代碼的設計》也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界范圍內暢銷不衰!吨貥:改善既有代碼的設計》凝聚了軟件開發社區專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。今天,無論是重構本身,業界對重構的理解,還是開發工具對重構的支持力度,都與《重構:改善既有代碼的設計》*初出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反復咀嚼,而且往往能夠常讀常新。
重構 改善既有代碼的設計 內容簡介
本書清晰地揭示了重構的過程,解釋了重構的原理和*佳實踐方式,并給出了何時以及何地應該開始挖掘代碼以求改善。書中給出了70多個可行的重構,每個重構都介紹了一種經過驗證的代碼變換手法的動機和技術。本書提出的重構準則將幫助你一次一小步地修改你的代碼,從而減少了開發過程中的風險。
本書適合軟件開發人員、項目管理人員等閱讀,也可作為高等院校計算機及相關專業師生的參考讀物。
重構 改善既有代碼的設計 目錄
the starting point 起點
the first step in refactoring 重構**步
decomposing and redistributing the statement method 分解并重組slalemenl方法
replacing the conditional logic on price code with polymorphism 用多態代替價格條件邏輯代碼
final thoughts 結語
chapter 2:principles in refactoring 重構原則
defining refactoring 何謂重構
why should you refactor? 為何重構
when should you refactor? 何時重構
what do i tell my manager? 怎樣說服經理
problems with refactoring 重構的問題
refactoring and design 重構與設計
refactoring and performance 重構與性能
where did refactoring come from? 重構的起源
chapter 3:bad smells in code(by kent beck and martin fowler) 代碼壞昧
duplicated code 重復代碼
long method 過長方法
large class 過長類
long parameter list 過長參數列表
divergent change 發散式變化
shotgun surgery 霰彈式修改
feature envy 特性依戀
data clumps 數據泥團
primitive obsession 基本類型偏執
switch statements switch語句
parallel inheritance hierarchies 平行繼承體系
lazy class 冗余類
speculative generality 理論上的一般性
temporary field 臨時字段
message chains 消息鏈
middle man 中間人
inappropriate intimacy 過度親密
alternative classes with different interfaces 接口不同的等效類
incomplete library class 不完整的庫類
data class 數據類
refused bequest 拒絕繼承
comments 注釋過多
chapter 4:building tests 構建測試
the value of self-testing code 自測試代碼的重要性
the junit testing framework junit測試框架
adding more tests 添加更多測試
chapter 5:toward a catalog of refactorings 重構目錄
format of the refactorings 重構描述的格式
finding references 尋找引用
how mature are these refactorings? 這些重構的成熟度如何
chapter 6:composing methods 組合方法
extract method 提取方法
inline method 內聯方法
inline temp 內聯臨時變量
*replace temp with query 用查詢方法代替臨時變量
introduce explaining variable 引入解釋性變量
split temporary variable 分離臨時變量
*remove assignments to parameters 去除參數賦值
replace method with method object 用方法對象代替方法
substitute algorithm 替換算法
chapter 7:moving features between objects 在對象之間移動特性
*move method 移動方法
move field 移動字段
extract class 提取類
inline class 內聯類
hide delegate 隱藏委托類
remove middle man 去除中間人
introduce foreign method 引入外加方法
*introduce local extension 引入本地擴展類
chapter 8:organizing data 組織數據
self encapsulate field 自封裝字段
replace data value with object 用對象代替數據值
change value to reference 將值對象改為引用對象
change reference to value 將引用對象改為值對象
replace array with object 用對象代替數組
duplicate observed data 重復被觀察數據
*change unidirectional associationto bidirectional 將單向關聯改為雙向
change bidirectional association to unidirectional 將雙向關聯改為單向
*replace magic number with symbolic constant 用字面常量代替魔數
encapsulate field 封裝字段
encapsulate collection 封裝集合
replace record with data class 用數據類代替記錄
*replacetype code with class 用類代替類型碼
replace type code with subclasses 用子類代替類型碼
replace type code with state/strategy用state/strategy 代替類型碼
replace subclass with fields 用字段代替子類
chapter 9:simplifying conditional expressions 簡化條件語句
decompose conditional 分解條件語句
consolidate conditional expression 合并條件語句
consolidate duplicate conditional fragments 合并重復的條件片段
remove control flag 去除控制標志
replace nested conditional with guard clauses 用守衛語句代替嵌套條件語句
replace conditional with polymorphism 用多態代替條件語句
introduce null object 引入null對象
introduce assertion 引入斷言
chapter 10:making method calls simpler 簡化方法調用
rename method 重命名方法
add parameter 添加參數
remove parameter 去除參數
separate query from modifier 將查詢方法與修改方法分離
parameterize method 參數化方法
replace parameter with explicit methods 用顯式方法代替參數
preserve whole object 保持對象完整
replace parameter with method 用方法代替參數
introduce parameter object 引入參數對象
remove setting method 去除設置方法
hide method 隱藏方法
replace constructor with factory method 用工廠方法代替構造器
encapsulate downcast 封裝向下轉型
replace error code with exception 用異常代替錯誤碼
replace exception with test 用測試代替異!
chapter 11:dealing with generalization 處理泛化關系
pull up field 上移字段
pull up method 上移方法
pull up constructor body 上移構造器主體
push down method 下移方法
push down field 下移字段
extract subclass 提取子類
extract superclass 提取超類
extract interface 提取接口
collapse hierarchy 合并繼承層次
form template method 形成template method
replace inheritance with delegation 用委托代替繼承
replace delegation with inheritance 用繼承代替委托
chapter 12:big refactorings(by kent beck and martin fowler) 大型重構
tease apart inheritance 分解繼承層次
convert procedural design to objects 將過程式設計轉換為面向對象
separate domain from presentation 將領域邏輯與表現分離
extract hierarchy 提取繼承層次
chapter 13:refactoring,reuse,and reality(by william opdyke) 重構,復用與現實
a reality check 現實的檢驗
whv are developers reluctant to refactor their programs? 開發人員為何不愿重構程序
a reality check(revisited) 再談現實的檢驗
resources and references for refactoring 重構的資源和參考文獻
implications regarding software reuse and technology transfer 對軟件復用與技術傳播的意義
a final note 結語
references 參考文獻
chapter 14:refactoring tools(by don roberts and john brant) 重構工具
refactoring with a tool 使用工具重構
technical criteria for a refactoring tool 重構工具的技術標準
practical criteria for a refactoring tool 重構工具的實用標準
wrap up 結語
chapter 15:putting it all together(by kent beck) 集大成
references參考文獻
list of soundbites 要點列表
updates 更新內容
index 索引
重構 改善既有代碼的設計 節選
《重構:改善既有代碼的設計》清晰地揭示了重構的過程,解釋了重構的原理和*佳實踐方式,并給出了何時以及何地應該開始挖掘代碼以求改善。書中給出了70多個可行的重構,每個重構都介紹了一種經過驗證的代碼變換手法的動機和技術。《重構:改善既有代碼的設計》提出的重構準則將幫助你一次一小步地修改你的代碼,從而減少了開發過程中的風險!吨貥:改善既有代碼的設計》適合軟件開發人員、項目管理人員等閱讀,也可作為高等院校計算機及相關專業師生的參考讀物。
重構 改善既有代碼的設計 作者簡介
Martin Fowler 世界軟件開發大師,在面向對象分析設計、UML、模式、XP和重構等領域都有卓越貢獻,現為著名軟件開發咨詢公司ThoughtWorks的首席科學家。他的多部著作《分析模式》、《UML精粹》和《企業應用架構模式》等都已經成為膾炙人口的經典! ∑渌麉⒕幷摺 ent Beck 軟件開發方法學的泰斗,極限編程的創始人。他是Three Rivers Institute公司總裁,也是Agitar Software的成員。 John Brant和Don Roberts The Refactory公司的創始人,Refactoring Browser (http://st-www.cs.illinois.edu/users/brant/Refactory/)的開發者,多年來一直從事研究重構的實踐與理論! illiam Opdyke 目前在朗訊貝爾實驗室工作,他寫的關于面向對象框架的博士論文是重構方面的第一篇著名文章。
- >
名家帶你讀魯迅:朝花夕拾
- >
煙與鏡
- >
我與地壇
- >
巴金-再思錄
- >
唐代進士錄
- >
自卑與超越
- >
羅庸西南聯大授課錄
- >
上帝之肋:男人的真實旅程