-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Java代碼與架構之完美優化:實戰經典

( 簡體 字)
作者:顏廷吉類別:1. -> 程式設計 -> JAVA -> Java
譯者:
出版社:機械工業出版社Java代碼與架構之完美優化:實戰經典 3dWoo書號: 42679
詢問書籍請說出此書號!

缺書
NT售價: 245

出版日:10/1/2015
頁數:229
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111515098
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

雖然劣質代碼一樣可以運行,但是劣質代碼的存在就會產生潛在bug,或者增加閱難度與理解困難,也增加了維護成本等不利影響,因此我們要追求高質量代碼。最佳編程,從內容上分析了拙劣代碼的表現形式(現象),分析了其不利影響,給出了最佳解決方案。同時給出了劣質代碼的檢查工具與方法,并汲取了Checkstyle、Findebug、PMD、Jtest等靜態代碼品質分析工具常見劣質代碼現象。又利用最常用的28種重構技巧,演示了代碼由劣質變優秀的過程。


目錄:


前言
第1章 代碼質量 1
1.1 什么是代碼質量 1
1.2 什么是軟件質量 1
1.3 代碼質量與軟件質量 1
1.4 代碼質量優化理論 2
1.5 提高代碼質量手段 3
小結 3
第2章 代碼質量靜態檢查工具 4
2.1 靜態分析技術概述 4
2.2 靜態分析技術原理 4
2.3 靜態分析技術給我們帶來的好處 5
2.4 常用重要靜態分析工具 6
2.5 如何優化靜態分析工具 6
小結 11
第3章 代碼質量優化通用準則 12
3.1 避免使用空塊 12
3.2 避免使用空類 15
3.3 去掉多余的import 16
3.4 剪切無效代碼 17
3.5 制定命名體系規約 18
編程解密一:完美規約 20
優化技巧01:按照命名規約賦予名稱 20
3.6 去掉重復代碼 21
3.7 如何優雅使用switch語句 22
3.8 用大寫“L”代替小寫“l”定義long變量 24
3.9 避免在一條語句中聲明或賦值多個變量 25
3.10 去掉控制標志的臨時變量 26
優化技巧02:移除控制標志臨時變量 27
3.11 避免賦予臨時變量過多的角色 28
優化技巧03:賦予臨時變量單一職責 29
3.12 避免使用魔法數字 29
優化技巧04:用常量取代魔法數字 30
3.13 在for循環內修正增量因子有什么弊端 31
3.14 用Enum代替Integer類型碼常量 32
優化技巧05:用枚舉取代類型碼 34
3.15 用BigDecimal類型進行精確計算 35
3.16 避免混用“+” 36
3.17 避免混用復雜運算符 37
3.18 避免使用復雜條件式或分支 38
優化技巧06:用代碼片段拆分復雜表達式 41
優化技巧07:用衛語句代替嵌套條件表達式 42
優化技巧08:用多態代替條件表達式 43
3.19 如何深入理解“= =”的真正含義 44
3.20 要習慣于用泛型代替原生類型 48
3.21 如何正確使用通配符的邊界 53
3.22 如何發揮正則表達式的威力 55
小結 58
第4章 方法優化技巧 59
4.1 最小化原則 59
優化技巧09:封裝類成員 60
4.2 hashCode()與equals()是個孿生兄弟 61
4.3 使用string.equals("String")帶來的弊端 66
4.4 避免命名不具有繼承關系的同名方法 67
4.5 檢查參數的有效性 68
4.6 避免使用可變參數 69
4.7 如何優化過長參數 72
優化技巧10:把參數提升成類成員變量 73
優化技巧11:引入參數對象 74
4.8 為什么不要重寫靜態方法 75
4.9 避免使用過時的API 77
4.10 優雅的集合運算方法知多少 78
4.11 避免重復發明輪子 81
4.12 如何對臃腫的方法進行瘦身 82
優化技巧12:分解方法 84
優化技巧13:合并方法 85
小結 85
第5章 如何保證多線程代碼質量 86
5.1 為什么不要重寫start()方法 86
5.2 避免使用非線程安全的初始化方法 87
5.3 用final成員對象作為同期化對象鎖 90
5.4 在synchronized內使用wait()方法 92
5.5 盡量縮小同期化代碼范圍 93
小結 94
第6章 如何優化類與接口 95
6.1 避免創建不必要的對象 95
6.2 避免使用對象的淺拷貝 96
6.3 如何正確放置靜態區位置 100
6.4 為什么不要使用靜態引入 102
6.5 如何正確使用instanceof 103
6.6 避免實例化特有工具類 106
6.7 避免有深度耦合的類關系 107
優化技巧14:移動變量 110
優化技巧15:移動方法 112
6.8 如何為臃腫的類進行手術 114
優化技巧16:分解類 116
6.9 如何優化冗贅類 117
優化技巧17:合并類 118
6.10 避免在接口中出現實現代碼 119
小結 120
第7章 如何正確使用異常 121
7.1 避免定義繼承Error或Throwable子類 121
7.2 避免拋出RuntimeException或Exception 122
7.3 避免捕獲NullPointerException或Error 124
7.4 避免在finally塊中處理返回值 125
7.5 避免使失敗失去原子性 127
7.6 如何對異常進行封裝 128
優化技巧18:用異常代替錯誤碼 129
7.7 將優雅的異常信息反饋給用戶 130
7.8 避免亂用異常 131
小結 133
第8章 如何優化代碼性能 134
8.1 避免在大量字符串拼接時用“+” 134
8.2 避免在循環體內生成臨時對象 135
8.3 在頻繁插入與刪除時使用LinkedList 137
8.4 在文件操作后要進行清理動作 139
編程解密四:完美改造 140
8.5 避免顯示調用finalized()方法 142
小結 143
第9章 架構優化 144
9.1 單一職責原則 144
優化技巧19:梳理并分解類職責 145
9.2 接口隔離原則 147
優化技巧20:隔離接口 149
9.3 依賴倒置原則 151
優化技巧21:提煉接口 152
9.4 里式替換原則 154
9.5 最少知道原則 155
9.6 如何擴展外部類功能 159
優化技巧22:引入本地擴展 160
9.7 如何梳理混雜的架構體系 160
優化技巧23:以委托代替繼承 165
優化技巧24:封裝向下轉型 165
優化技巧25:提煉繼承體系 167
優化技巧26:折疊繼承體系 169
小結 170
第10章 包優化 172
10.1 發布等價原則 172
10.2 共同重用原則 173
10.3 共同封閉原則 174
10.4 無環依賴原則 176
10.5 如何保持包的清晰 179
優化技巧28:規整包中類位置 180
編程解密五:完美優化 181
10.6 如何抽出框架層次 182
10.7 如何提取框架工程 183
小結 189
第11章 優良代碼風格 190
11.1 如何優化代碼格式工具 190
11.2 如何統一標準的代碼格式 193
11.3 養成良好的代碼注釋習慣 194
編程解密六:完美突破 196
小結 198
結束語 199
附錄 200
參考文獻 229
序: