編寫高質量代碼

編寫高質量代碼 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社華章公司
作者:秦小波
出品人:
頁數:303
译者:
出版時間:2011-12-28
價格:59.00元
裝幀:
isbn號碼:9787111362593
叢書系列:實戰係列
圖書標籤:
  • Java
  • 編程
  • 編寫高質量代碼
  • java
  • 技術
  • 程序設計
  • Programming
  • 程序開發
  • 高質量代碼
  • 編程規範
  • 代碼質量
  • 軟件工程
  • 開發實踐
  • 可維護性
  • 錯誤處理
  • 設計模式
  • 代碼評審
  • 可測試性
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

在通往“Java技術殿堂”的路上,本書將為你指點迷津!內容全部由Java編碼的最佳實踐組成,從語法、程序設計和架構、工具和框架、編碼風格和編程思想等五大方麵對Java程序員遇到的各種棘手的疑難問題給齣瞭經驗性的解決方案,為Java程序員如何編寫高質量的Java代碼提齣瞭151條極為寶貴的建議。對於每一個問題,不僅以建議的方式從正反兩麵給齣瞭被實踐證明為十分優秀的解決方案和非常糟糕的解決方案,而且還分析瞭問題産生的根源,猶如醍醐灌頂,讓人豁然開朗。

全書一共12章,1~3章針對Java語法本身提齣瞭51條建議,例如覆寫變長方法時應該注意哪些事項、final修飾的常量不要在運行期修改、匿名類的構造函數特殊在什麼地方等;4~9章重點針對JDK API的使用提齣瞭80條建議,例如字符串的拼接方法該如何選擇、枚舉使用時有哪些注意事項、齣現NullPointerException該如何處理、泛型的多重界限該如何使用、多綫程編程如何預防死鎖,等等;10~12章針對程序性能、開源的工具和框架、編碼風格和編程思想等方麵提齣瞭20條建議。

本書針對每個問題所設計應用場景都非常典型,給齣的建議也都與實踐緊密結閤。書中的每一條建議都可能在你的下一行代碼、下一個應用或下一個項目中嶄露頭角,建議你將此書擱置在手邊,隨時查閱,一定能使你的學習和開發工作事半功倍。

著者簡介

秦小波,資深軟件開發工程師、係統分析師和架構師(獲Sun架構師認證),從軟件開發工作10餘年,實踐經驗極其豐富。資深Java技術專傢,Java語言、Spring、Struts 2、Hibernate、iBatis、jBPM等Java技術,在企業級Java應用領域積纍瞭大量工程經驗,對ESB、BPEL等整閤技術也有較深入的認識。精通設計模式,對設計模式有深刻的認識和獨到見解,而且創造性地提齣瞭自己在大量實踐中總結齣來的新的設計模式。他撰寫的《設計模式之禪》一書憑藉優質的內容和良好的可讀性廣獲讀者好評,被譽為“設計模式領域的裏程碑之作。此外,他還是一位優秀的DBA,具有IBM DB2 DBA資格認證,對海量數據處理有深入的研究。

圖書目錄

前言
第1章 Java開發中通用的方法和準則/1
建議1: 不要在常量和變量中齣現易混淆的字母/2
建議2: 莫讓常量蛻變成變量/2
建議3: 三元操作符的類型務必一緻/3
建議4: 避免帶有變長參數的方法重載/4
建議5: 彆讓null值和空值威脅到變長方法/6
建議6: 覆寫變長方法也循規蹈矩/7
建議7: 警惕自增的陷阱/8
建議8: 不要讓舊語法睏擾你/10
建議9: 少用靜態導入/11
建議10: 不要在本類中覆蓋靜態導入的變量和方法/13
建議11: 養成良好習慣,顯式聲明UID/14
建議12: 避免用序列化類在構造函數中為不變量賦值/17
建議13: 避免為final變量復雜賦值/19
建議14: 使用序列化類的私有方法巧妙解決部分屬性持久化問題/20
建議15: break萬萬不可忘/23
建議16: 易變業務使用腳本語言編寫/25
建議17: 慎用動態編譯/27
建議18: 避免instanceof非預期結果/29
建議19: 斷言絕對不是雞肋/31
建議20: 不要隻替換一個類/33
第2章 基本類型/35
建議21: 用偶判斷,不用奇判斷/36
建議22: 用整數類型處理貨幣/37
建議23: 不要讓類型默默轉換/38
建議24: 邊界,邊界,還是邊界/39
建議25: 不要讓四捨五入虧瞭一方/41
建議26: 提防包裝類型的null值/43
建議27: 謹慎包裝類型的大小比較/45
建議28: 優先使用整型池/46
建議29: 優先選擇基本類型/48
建議30: 不要隨便設置隨機種子/49
第3章 類、對象及方法/52
建議31: 在接口中不要存在實現代碼/53
建議32: 靜態變量一定要先聲明後賦值/54
建議33: 不要覆寫靜態方法/55
建議34: 構造函數盡量簡化/57
建議35: 避免在構造函數中初始化其他類/58
建議36: 使用構造代碼塊精煉程序/60
建議37: 構造代碼塊會想你所想/61
建議38: 使用靜態內部類提高封裝性/63
建議39: 使用匿名類的構造函數/65
建議40: 匿名類的構造函數很特殊/66
建議41: 讓多重繼承成為現實/68
建議42: 讓工具類不可實例化/70
建議43: 避免對象的淺拷貝/71
建議44: 推薦使用序列化實現對象的拷貝/73
建議45: 覆寫equals方法時不要識彆不齣自己/74
建議46: equals應該考慮null值情景/76
建議47: 在equals中使用getClass進行類型判斷/77
建議48: 覆寫equals方法必須覆寫hashCode方法/78
建議49: 推薦覆寫toString方法/80
建議50: 使用package-info類為包服務/81
建議51: 不要主動進行垃圾迴收/82
第4章 字符串/83
建議52: 推薦使用String直接量賦值/84
建議53: 注意方法中傳遞的參數要求/85
建議54: 正確使用String、StringBuffer、StringBuilder/86
建議55: 注意字符串的位置/87
建議56: 自由選擇字符串拼接方法/88
建議57: 推薦在復雜字符串操作中使用正則錶達式/90
建議58: 強烈建議使用UTF編碼/92
建議59: 對字符串排序持一種寬容的心態/94
第5章 數組和集閤/97
建議60: 性能考慮,數組是首選/98
建議61: 若有必要,使用變長數組/99
建議62: 警惕數組的淺拷貝/100
建議63: 在明確的場景下,為集閤指定初始容量/101
建議64: 多種最值算法,適時選擇/104
建議65: 避開基本類型數組轉換列錶陷阱/105
建議66: asList方法産生的List對象不可更改/107
建議67: 不同的列錶選擇不同的遍曆方法/108
建議68: 頻繁插入和刪除時使用LinkedList/112
建議69: 列錶相等隻需關心元素數據/115
建議70:子列錶隻是原列錶的一個視圖/117
建議71: 推薦使用subList處理局部列錶/119
建議72: 生成子列錶後不要再操作原列錶/120
建議73: 使用Comparator進行排序/122
建議74: 不推薦使用binarySearch對列錶進行檢索/125
建議75: 集閤中的元素必須做到compareTo和equals同步/127
建議76: 集閤運算時使用更優雅的方式/129
建議77: 使用shuffle打亂列錶/131
建議78: 減少HashMap中元素的數量/132
建議79: 集閤中的哈希碼不要重復/135
建議80: 多綫程使用Vector或HashTable/139
建議81: 非穩定排序推薦使用List/141
建議82: 由點及麵,一葉知鞦—集閤大傢族/143
第6章 枚舉和注解/145
建議83: 推薦使用枚舉定義常量/146
建議84: 使用構造函數協助描述枚舉項/149
建議85: 小心switch帶來的空值異常/150
建議86: 在switch的default代碼塊中增加AssertionError錯誤/152
建議87: 使用valueOf前必須進行校驗/152
建議88: 用枚舉實現工廠方法模式更簡潔/155
建議89: 枚舉項的數量限製在64個以內/157
建議90: 小心注解繼承/160
建議91: 枚舉和注解結閤使用威力更大/162
建議92: 注意@Override不同版本的區彆/164
第7章 泛型和反射/166
建議93: Java的泛型是類型擦除的/167
建議94: 不能初始化泛型參數和數組/169
建議95: 強製聲明泛型的實際類型/170
建議96: 不同的場景使用不同的泛型通配符/172
建議97: 警惕泛型是不能協變和逆變的/174
建議98: 建議采用的順序是List<T>、List<?>、List<Object>/176
建議99: 嚴格限定泛型類型采用多重界限/177
建議100: 數組的真實類型必須是泛型類型的子類型/179
建議101: 注意Class類的特殊性/181
建議102: 適時選擇getDeclared×××和get×××/181
建議103: 反射訪問屬性或方法時將Accessible設置為true /182
建議104: 使用forName動態加載類文件/184
建議105: 動態加載不適閤數組/186
建議106: 動態代理可以使代理模式更加靈活/188
建議107: 使用反射增加裝飾模式的普適性/190
建議108: 反射讓模闆方法模式更強大/192
建議109: 不需要太多關注反射效率/194
第8章 異常/197
建議110: 提倡異常封裝/198
建議111: 采用異常鏈傳遞異常/200
建議112: 受檢異常盡可能轉化為非受檢異常/202
建議113: 不要在finally塊中處理返迴值/204
建議114: 不要在構造函數中拋齣異常/207
建議115: 使用Throwable獲得棧信息/210
建議116: 異常隻為異常服務/212
建議117: 多使用異常,把性能問題放一邊/213
第9章 多綫程和並發/215
建議118: 不推薦覆寫start方法/216
建議119: 啓動綫程前stop方法是不可靠的/218
建議120: 不使用stop方法停止綫程/220
建議121: 綫程優先級隻使用三個等級/224
建議122: 使用綫程異常處理器提升係統可靠性/226
建議123: volatile不能保證數據同步/228
建議124: 異步運算考慮使用Callable接口/232
建議125: 優先選擇綫程池/233
建議126: 適時選擇不同的綫程池來實現/237
建議127: Lock與synchronized是不一樣的/240
建議128: 預防綫程死鎖/245
建議129: 適當設置阻塞隊列長度/250
建議130: 使用CountDownLatch協調子綫程/252
建議131: CyclicBarrier讓多綫程齊步走/254
第10章 性能和效率/256
建議132: 提升Java性能的基本方法/257
建議133: 若非必要,不要剋隆對象/259
建議134: 推薦使用“望聞問切”的方式診斷性能/261
建議135: 必須定義性能衡量標準/263
建議136: 槍打齣頭鳥—解決首要係統性能問題/264
建議137: 調整JVM參數以提升性能/266
建議138: 性能是個大“咕咚”/268
第11章 開源世界/271
建議139: 大膽采用開源工具/272
建議140: 推薦使用Guava擴展工具包/273
建議141: Apache擴展包/276
建議142: 推薦使用Joda日期時間擴展包/280
建議143: 可以選擇多種Collections擴展/282
第12章 思想為源/285
建議144: 提倡良好的代碼風格/286
建議145: 不要完全依靠單元測試來發現問題/287
建議146: 讓注釋正確、清晰、簡潔/290
建議147: 讓接口的職責保持單一/294
建議148: 增強類的可替換性/295
建議149: 依賴抽象而不是實現/298
建議150: 拋棄7條不良的編碼習慣/299
建議151: 以技術員自律而不是工人/301
· · · · · · (收起)

讀後感

評分

平常写程序的时候遇到种种小问题,然后就百度谷歌搜索,但是总是找不到合适的结果。刚拿到书,感觉很多都是平常写程序的时候没有注意到的地方,或者是盲点。还没来得及细看,不过看着目录还挺不错的,相信多看几遍能有挺大帮助。要是多一些平常可能遇到的问题的解决方法或者提...  

評分

这本书对于我这种从C、C++转过来的野路子Java选手,拿来补漏语言只是还是不错的 判断偶数 i%2==0 因为-1%2=-1而不是1 java里int i = 0; i = i++; 这时i==0,js也是如此。但是C/C++是1 静态简单变量会被直接编译到class文件中,所以更新了一个静态常量,需要重新编译所有引...  

評分

平常写程序的时候遇到种种小问题,然后就百度谷歌搜索,但是总是找不到合适的结果。刚拿到书,感觉很多都是平常写程序的时候没有注意到的地方,或者是盲点。还没来得及细看,不过看着目录还挺不错的,相信多看几遍能有挺大帮助。要是多一些平常可能遇到的问题的解决方法或者提...  

評分

封面评价看起来特别高。 乍一看感觉跟Effective系列是的。看完后发现是乍一看的原因。 然后几个小时就给翻完了,就只是增加了一本阅读记录。 没水平就不要写嘛!这种书就是把教科书里面的坑爹的内容拉出来再理一遍。。 break语句、递归形式的死循环、正则表达式。。。 但凡...  

評分

光买了书,唉没时间看书啊!我电脑Z差啊,学得头都大了啊!还好,室友告诉我上猎豹网校,看那个视频课程学。嘿嘿,这是个简单容易的办法!这下不再担心买了书,束之高阁了!

用戶評價

评分

有些點撥用處極大,幫讀者從語法層麵繞開大坑。有些建議則算是茴香豆四種寫法類型。

评分

1、溫故知新,鞏固Java功底,熟悉Java的bad smell。 2、瞭解Java中常見錯誤的原因,當問題發生時可以更快的找到問題根源。 3、代碼review、評估上綫風險、精準化編寫測試用例過程中有用武之地。

评分

有那時間還是看 effective java吧

评分

無力吐槽~不可以給半顆星麼?!

评分

有些內容很久,還在jdk5的狀態,但有些內容顯然又是jdk6的。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有