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

Java代碼與架構之完美優化 實戰經典 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
顔廷吉 著



點擊這裡下載
    


想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-12-18

類似圖書 點擊查看全場最低價

圖書介紹

齣版社: 機械工業齣版社
ISBN:9787111515098
版次:1
商品編碼:11788303
品牌:機工齣版
包裝:平裝
開本:16開
齣版時間:2015-10-01
用紙:膠版紙
頁數:229


相關圖書





圖書描述

編輯推薦

適讀人群 :軟件開發人員及相關專業師生
  Java是目前的主流開發技術,如何更好地發揮其技術優勢實現資源配置和獲得更高商業價值,一直是Java技術發展的趨勢。然而Java體係龐大、技術精深,如何寫齣優質代碼,如何設計與優化係統架構,是高級開發者必須掌握的核心技術之一。本書所麵嚮的讀者主要是那些想在技術領域成為佼佼者的朋友:
  1.走在架構師之路上的工程師。
  2.希望提高自己代碼質量水平的程序員。
  3.追求完美的技術愛好者。
  總之,無論是在校大學生還是剛剛走上工作崗位的新員工,無論是做編碼的程序員還是做測試的技術人員,無論是架構師還是項目經理,都可以從本書中獲得有益的收獲。

內容簡介

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

作者簡介

  顔廷吉,山東臨沂人,畢業於北京大學軟件與微電子學院,碩士學位。上海頤凡軟件科技有限公司創始人兼首席架構師,高級係統工程師,“頤凡Java應用開發平颱”軟件著作權人,擁有PMP、OCP、LIP3等各種高級國際技術認證證書,日本國傢高度人纔。
  2007年就職於NTTDATA集團公司,任研發部主任,從事一綫軟件研發與設計近十年。曾經主導與參與瞭日本厚生勞動省HelloWork就職勞動項目、
  Taspo全國香煙自動販賣項目、飲料自動販賣機販賣信息采集項目等大型係統的設計與研發,曾連續多年獲得公司社長奬,項目奬等各種奬項。

目錄


前言
第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

前言/序言

  在武俠世界裏,凡是頂尖的高手,要麼是經曆瞭一些奇遇偶得真傳,要麼就是經過幾十年腳踏實地的修煉,纔得以爐火純青。雖然路不同,但他們最核心的修煉內容就是增強自己的內力。內功心法纔是核心,因為劍法、拳法之類對聰明人來講看一遍就會,而內力卻很難速成。到達一定的境界後,武功就不分什麼門派瞭,因為這都是融會貫通的。
  現實科技世界與武俠科幻世界同理,Java程序世界裏也不乏頂尖高手,比如Bruce Eckel (《Thinking In Java》作者)、Joshua Bloch(Google首席Java架構師,《Effective Java》作者)、 Kent Beck(敏捷之父)、Martin Fowler(優化之父)等等。這些人之所以如此成功,並讓追求者頂禮膜拜,並不是因為他們寫瞭汗牛充棟的程序代碼,而在於他們一齣手就能展現絕頂高手的風範,寫齣令人拍案叫絕的高質量代碼。因為這代錶瞭他們的品牌與實力,他們會一直精益求精,不斷優化,他們把自己的悟道——如何修煉內功秘籍——寫成瞭書,就成瞭經典。
  程序員修煉內功心法的終極目標就是成為我們夢寐以求的架構師。眾所周知的《Java編程思想》《Java高效編程》《敏捷軟件開發》《設計模式》《優化》《人月神話》等巨著的核心內容之一就是教授這些內功心法,本書也正是作者多年修煉的總結。品質體現於細節,本書不但從宏觀到細節進行瞭全麵係統的介紹,而且形成瞭代碼質量優化的理論與技巧體係,是進行代碼優化不可多得的寶典。
  Java是目前的主流開發技術,如何更好地發揮其技術優勢實現最佳資源配置和獲得更高商業價值,一直是Java技術發展的趨勢。然而Java體係龐大、技術精深,如何寫齣優質代碼,如何設計與優化係統架構,是高級開發者必須掌握的核心技術之一。
  作者在Java技術領域從事一綫工作十多年,其中8年時間是在東京度過的。日本的品質管理技術世界領先,作者來日之前就下定決心要掌握日本先進品質的相關技術,報效祖國——師夷長技以製夷!在這期間作者指導過NTT、日立、富士通等日本一流IT開發公司主導的大型商業項目(國傢就業勞動項目、全國飲料以及香煙自動販賣機販賣信息統計項目等)的研發與代碼優化,也使得作者有機會與日本一流架構師交流及研究他們獨有的架構與質量優化技術之奧妙。
  學生時代的我們,所學到的是基本的技術理論知識;就業後作為初級程序員的我們,幾乎不能勝任商業項目的質量要求標準,不能適應技術的深度與廣度,即使能夠完成的編碼,也隻是倉促地完成任務;經過3~5年磨練後的我們,迴想以前寫的代碼,就會意識到當時寫的代碼是那麼的不優雅!是的,根據作者實戰經驗,也根據通用的8020法則,按照要求寫齣可運行代碼,隻是完成瞭80%的工作,另外20%的代碼持續優化工作,往往被大傢忽略瞭。代碼優化是一個綜閤的係統體係,包含的內容很多,本書將把最核心的部分進行剖析並分享給讀者。
  本書從實際策劃到完成書稿曆時近2年,這期間作者一直不斷吸收、整理、優化、提煉其內容。在Java世界裏編寫高質量代碼並非易事,各種開源代碼檢測工具也對各種技術細節進行瞭規定,Checkstyle裏有134項,FindBugs裏有408項,PMD裏有368項,Jtest裏大概有1000項,麵對這麼多的規則,可能有人會說這還怎麼下手寫代碼啊?是的,學習與研究這些枯燥無味的規則估計就要花掉很多時間,而且即使學習瞭也不一定能記住,況且有些規則是站在技術研究者的角度而做齣的,在實際商業上根本用不到。基於實用原則,作者從這些代碼檢查規則中提煉瞭經典內容,吸收瞭日本代碼優化培訓以及品質管理培訓內容精華,深入研讀瞭本書參考文獻裏所列的書籍以及網絡上各種資源,並結閤本人多年的實戰經驗,提取齣瞭100個有代錶性的經典優化實戰案例,本書素材來源如圖1所示。後來又經過進一步分析整理,精選瞭最有代錶性的77個案例,希望讀者可以用最少的時間學到最有價值的代碼優化技術。
  圖1 本書素材來源
  本書與軟件質量
  故事一:完美我們做得到麼?
  曾經有一傢美國公司到日本一傢小企業定製瞭10000件某種電子産品部件,要求次品率是1/1000。這傢企業在規定的時間內郵寄去瞭産品,美國公司産品部打開一看,有些吃驚—怎麼有兩個盒子?一個大的,一個小的?再打開一看,大的裏麵放滿瞭産品,同時有一個說明:全部閤格産品9990件;另外一個小盒裏放的是什麼,大傢就不言自明瞭。
  感悟:100%的閤格就是一種完美,我們能做到麼?日本之所以在軟件行業乃至其他很多行業都做得如此齣色,很重要的一點就是因為質量做得絕對世界第一。而我們國傢則基本是粗放型經濟,無論從對産品質量的認識程度,還是産品質量的管理方法,都離日本尚有一段很大的距離。希望本書的問世可以縮小這段距離。
  軟件質量(品質)包含的內容在我們規劃的教程體係中,分為開發篇和管理篇,前者就是本書所包含的內容。
  談到代碼質量,首先要辨析什麼樣的代碼是劣質代碼,什麼樣的代碼是優質代碼,可以用哪些工具自動檢測劣質代碼,以及如何把劣質代碼轉化成優質代碼,本書將帶領讀者一起解析。
  物皆有其位,而後物盡其位。世道亂瞭,就要治理,使其有序。同理,Java世界裏有很多保留字,如果在保留字所控製區域裏寫有不閤理的代碼,那麼將會給軟件帶來災難性的後果。因此,每段代碼都應該在其所在的位置——如果不在其位,那就需要優化。優化是確保代碼質量的重要手段之一。本書不但係統展示瞭常見劣質代碼,而且總結瞭28種常用優化技巧,並給齣瞭優化的具體步驟,嚮讀者演繹瞭從劣質到優質的變化過程,可謂理論與實踐的最佳組閤。
  一個項目的成功不僅僅是靠某一個程序員的能力,而是項目團隊的默契配閤與努力的結果。要保證全體開發人員統一的編程風格與代碼質量,就需要有編程規約來進行思想統一。雖然已有很多論述編程規約的文章,但要麼太鑽牛角尖、太偏理論化瞭,要麼太粗淺、不夠精細,沒有太大實際商業價值。本書附錄裏給齣的Java編程規約、JSP編程規約、CSS編程規約是作者經過多年實戰經驗所總結的,可以直接應用到項目中,提高軟件質量。
  無規矩不成方圓,任何商業係統,都應該堅持遵循工業標準。本書是優質代碼編寫規範的提煉與總結,也可以作為評判優秀代碼的標準之一。違反瞭本書所介紹的規則之代碼,需要根據項目實際情況進行優化,以提高代碼與軟件的質量。
  本書與軟件架構師
  一款軟件的最終體現就是代碼,而作為軟件架構師,如果沒有代碼優化的意識與技術,就不能稱之為軟件架構師。任何閤格的軟件架構師,必須對代碼優化的概念與技術爛熟於胸,信手拈來。一個連代碼質量都不能控製好的架構師所設計的架構是不會有人信任的。
  本書囊括瞭作者多年編程經驗總結齣的六項編程密技:完美規約(架構大於編碼)、完美視角(設計者角度)、完美利用(站在巨人肩上)、完美改造(快速編碼)、完美優化(高質量代碼)、完美突破(架構師之路),這六項密技是完美編程的精髓,亦是完美編程的指導思想與靈魂。本書的目的不僅僅是“授人以魚”更要“授人以漁”——提高讀者的編程及優化能力,而這種能力正是架構師的必備技能。
  本書是IT365學院網站軟件架構師係列培訓教程體係中的基礎讀本,屬於品質管理實戰部分的內容,是培養具有高質量代碼技術水平的優秀架構師所必備的利器之一。優秀的代碼品質是程序員走嚮架構師神聖殿堂的必經之路,本書將是這條路上的一盞明燈,幫助讀者早日實現架構師之夢。
  本書與翻轉課堂模式
  翻轉課堂(The Flipped Classroom),是2011年在美國興起的新型教學模式。與傳統的課堂教學模式不同。在“翻轉課堂”教學模式下,學生課下完成知識的學習,而課堂變成瞭老師與學生之間和學生與學生之間互動的場所,包括答疑解惑、知識的運用等,從而達到更好的教育效果。教與學顛倒,即翻轉課堂,它顛覆瞭傳統意義上的課堂教學模式。
  本書充分參考瞭“翻轉課堂”模式,在內容安排上,對於每一個案例,都是先展示劣質代碼(優化前代碼),也是有意讓讀者自己研究其瑕疵在哪裏;之後給齣優質代碼(優化後代碼),進一步讓讀者感受優質代碼帶來的效果;最後給齣從劣質到優質演化過程的解析。這樣在閱讀技巧上進行瞭革新,可以讓讀者更好地吸收與理解本書精華。
  本書配套源碼
  本書的配套源碼以及其他模闆文件可以在www.365itedu.com(本書官網)下載。
  在源碼資源裏,例如best0101包下麵的代碼為優化前的劣質代碼,一般類的命名為Before,測試代碼類的名稱為BeforeTest;而best0102包下麵的代碼為經過優化後的優質代碼,一般類的命名為After,測試代碼類的名稱為AfterTest,如圖2所示。所有代碼均是可執行代碼,讀者可以隨時運行查看優化前後執行效果。
  圖2 源代碼說明
  書中所選用代碼比較簡單,並對相對復雜的代碼進行瞭背景說明。讀者在學習過程中,可以自己先琢磨劣質代碼的瑕疵在哪裏,自己是否可以發現?可以用哪些手段來發現?如何優化?帶著這些問題閱讀本書,會達到更好的學習效果。
  本書配套教學視頻
  傳統教育模式中對程序設計的教學方式大多已經落伍,這使得學生在真正進入社會就業前不得不再進行二次培訓;而現在社會上的培訓機構也是魚龍混雜,培訓的內容很多也隻是基礎的入門級彆。因此,需要一套從實際項目研發中提煉而齣的、具有實際價值的、拿來就能用的、同時具有前瞻技術設計與研發引導性的高級軟件架構師培訓教程。本書配套培訓教程與教材同步齣爐,可以幫助讀者更好、更輕鬆地學好本書的精髓。配套培訓教程也可以到365IT學院下載。
  本書特色
  1.內容精煉、超值:作者將十多年一綫實戰心得傾情奉獻——說代碼之美是重實用,講架構優化是接地氣。
  2.授人以魚,不如授人以漁:作為編程指導思想與靈魂的六項密技,可全麵提高讀者自身的編程與代碼優化能力。
  3.案例驅動,腳踏實地:不講單獨代碼片段,而是以案例驅動(根據實際商業代碼提煉之後的可運行代碼)進行實戰解析;不僅僅是經驗與理論的總結,更重要的是用最直接的案例代碼來說明技術應用方式。
  4.圖解技術,形象生動:利用圖解方式避免瞭乏味難懂的文字描述,使繁冗復雜的事物一目瞭然,是對理論進行深刻理解的形象記憶。“圖+代碼”是技術學習的最佳方式。
  本書所麵嚮的讀者
  故事二:敬業之神
  敬業之神——野田聖子。
  她37歲就當上瞭日本內閣郵政大臣。
  她的第一份工作是刷廁所:她把廁所刷得光潔如新,一塵不染,她直接把衝廁所的水舀一勺一飲而盡,來證明其工作質量。
  她有一句名言:就算這一輩子都在洗廁所,也要當個最齣色的洗廁人。
  敬業之神的啓示:通過不斷修煉內功,不斷優化,刷廁所都可刷成行業的佼佼者!高端的品質目標,究極的愛業敬業態度,給予瞭我們極大的心靈震撼與鼓舞!——想齣人頭地麼?想有所成就麼?那麼把一件事做好,把其品質做到極緻,就成功瞭!
  本書所麵嚮的讀者主要是那些想在技術領域成為佼佼者的朋友:
  1.走在架構師之路上的工程師。
  2.希望提高自己代碼質量水平的程序員。
Java代碼與架構之完美優化 實戰經典 下載 mobi epub pdf txt 電子書 格式

Java代碼與架構之完美優化 實戰經典 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

Java代碼與架構之完美優化 實戰經典 下載 mobi pdf epub txt 電子書 格式 2024

Java代碼與架構之完美優化 實戰經典 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

這本書,說實話並不是多好,隻適閤初學者。雖然起瞭個高大上的名字,但是內容很小兒科,(至少前麵很小兒科,我往後翻瞭幾頁內容也沒高大上多少)。初學者適閤購買。

評分

書的質量很好,看起來非常不錯,內容適閤

評分

挺好的書~很實用

評分

這本書,說實話並不是多好,隻適閤初學者。雖然起瞭個高大上的名字,但是內容很小兒科,(至少前麵很小兒科,我往後翻瞭幾頁內容也沒高大上多少)。初學者適閤購買。

評分

內容可以的,但是書名很能吹牛。

評分

應該是正版,包裝不錯!

評分

哈哈 v 成本你奶奶

評分

沒仔細看。覺得還湊閤。

評分

不錯,下次繼續購買

類似圖書 點擊查看全場最低價

Java代碼與架構之完美優化 實戰經典 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


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

友情鏈接

© 2024 book.qciss.net All Rights Reserved. 圖書大百科 版權所有