中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
代碼整潔之道 英文版

包郵 代碼整潔之道 英文版

出版社:人民郵電出版社出版時間:2021-03-01
開本: 16開 頁數: 411
中 圖 價:¥69.7(6.4折) 定價  ¥109.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

代碼整潔之道 英文版 版權信息

代碼整潔之道 英文版 本書特色

軟件質量,不但依賴架構和項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。



本書提出一種觀點:代碼質量與其整潔度成正比。干凈的代碼,既在質量上較為可靠,也為后期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱“啟示”),并輔以來自實際項目的正、反兩面的范例。只要遵循這些規則,就能編寫出干凈的代碼,從而有效提升代碼質量。

軟件質量,不但依賴架構和項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。



本書提出一種觀點:代碼質量與其整潔度成正比。干凈的代碼,既在質量上較為可靠,也為后期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱“啟示”),并輔以來自實際項目的正、反兩面的范例。只要遵循這些規則,就能編寫出干凈的代碼,從而有效提升代碼質量。



本書閱讀對象為有志于改善代碼質量的程序員和技術經理。書中介紹的規則均來自作者多年的實踐經驗,涵蓋從命名到重構的多個編程方面,雖為一家之言,然誠有可資借鑒的價值。

代碼整潔之道 英文版 內容簡介

軟件質量,不但依賴架構和項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。 本書提出一種觀點:代碼質量與其整潔度成正比。干凈的代碼,既在質量上較為可靠,也為后期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱“啟示”),并輔以來自實際項目的正、反兩面的范例。只要遵循這些規則,就能編寫出干凈的代碼,從而有效提升代碼質量。 本書閱讀對象為有志于改善代碼質量的程序員和技術經理。書中介紹的規則均來自作者多年的實踐經驗,涵蓋從命名到重構的多個編程方面,雖為一家之言,然誠有可資借鑒的價值。

代碼整潔之道 英文版 目錄

Chapter 1: Clean Code / 整潔代碼 1

There Will Be Code / 要有代碼 2

Bad Code / 糟糕的代碼 3

The Total Cost of Owning a Mess / 混亂的代價 4

Schools of Thought / 思想流派 12

We Are Authors / 我們是作者 13

The Boy Scout Rule / 童子軍軍規 14

Prequel and Principles / 前傳與原則 15

Conclusion / 小結 15

Bibliography / 文獻 15



Chapter 2: Meaningful Names / 有意義的命名 17

Introduction / 介紹 17

Use Intention-Revealing Names / 名副其實 18

Avoid Disinformation / 避免誤導 19

Make Meaningful Distinctions / 做有意義的區分 20

Use Pronounceable Names / 使用讀得出來的名稱 21

Use Searchable Names / 使用可搜索的名稱 22

Avoid Encodings / 避免使用編碼 23

Avoid Mental Mapping / 避免思維映射 25

Class Names / 類名 25

Method Names / 方法名 25

Don’t Be Cute / 別抖機靈 26

Pick One Word per Concept / 每個概念對應一個詞 26

Don’t Pun / 別用雙關語 26

Use Solution Domain Names / 使用解決方案領域名稱 27

Use Problem Domain Names / 使用源自所涉問題領域的名稱 27

Add Meaningful Context / 添加有意義的語境 27

Don’t Add Gratuitous Context / 不要添加沒用的語境 29

Final Words / *后的話 30



Chapter 3: Functions / 函數 31

Small! / 短小 34

Do One Thing 只做一件事 35

One Level of Abstraction per Function / 每個函數一個抽象層級 36

Switch Statements / switch 語句 37

Use Descriptive Names / 使用具有描述性的名稱 39

Function Arguments / 函數參數 40

Have No Side Effects / 無副作用 44

Command Query Separation / 分隔指令與詢問 45

Prefer Exceptions to Returning Error Codes / 使用異常替代返回錯誤碼 46

Don’t Repeat Yourself / 別重復自己 48

Structured Programming / 結構化編程 48

How Do You Write Functions Like This / 如何寫出這樣的函數 49

Conclusion / 小結 49

SetupTeardownIncluder / SetupTeardownIncluder 程序 50

Bibliography / 文獻 52



Chapter 4: Comments / 注釋 53

Comments Do Not Make Up for Bad Code /注釋不能美化糟糕的代碼 55

Explain Yourself in Code / 用代碼來闡述 55

Good Comments / 好注釋 55

Bad Comments / 壞注釋 59

Bibliography / 文獻 74



Chapter 5: Formatting/ 75

The Purpose of Formatting / 格式的目的 76

Vertical Formatting / 垂直格式 76

Horizontal Formatting / 橫向格式 85

Team Rules / 團隊規則 90

Uncle Bob’s Formatting Rules / “鮑勃大叔”的格式規則 90



Chapter 6: Objects and Data Structures / 對象和數據結構 93

Data Abstraction / 數據抽象 93

Data/Object Anti-Symmetry / 數據、對象的反對稱性 95

The Law of Demeter / 得墨忒耳律 97

Data Transfer Objects / 數據傳送對象 100

Conclusion / 小結 101

Bibliography / 文獻 101



Chapter 7: Error Handling / 錯誤處理 103

Use Exceptions Rather Than Return Codes / 使用異常而非返回碼 104

Write Your Try-Catch-Finally Statement First /

先寫try-catch-finally 語句 105

Use Unchecked Exceptions / 使用未檢異常 106

Provide Context with Exceptions / 給出異常發生的環境說明 107

Define Exception Classes in Terms of a Caller’s Needs /

依調用者需要定義異常類 107

Define the Normal Flow / 定義常規流程 109

Don’t Return Null / 別返回null 值 110

Don’t Pass Null / 別傳遞null 值 111

Conclusion / 小結 112

Bibliography / 文獻 112



Chapter 8: Boundaries / 邊界 113

Using Third-Party Code / 使用第三方代碼 114

Exploring and Learning Boundaries / 瀏覽和學習邊界 116

Learning log4j / 學習log4j 116

Learning Tests Are Better Than Free /

學習性測試的好處不只是免費 118

Using Code That Does Not Yet Exist / 使用尚不存在的代碼 118

Clean Boundaries / 整潔的邊界 120

Bibliography / 文獻 120



Chapter 9: Unit Tests / 單元測試 121

The Three Laws of TDD / TDD 三定律 122

Keeping Tests Clean / 保持測試整潔 123

Clean Tests / 整潔的測試 124

One Assert per Test / 每個測試一個斷言 130

F.I.R.S.T. 132

Conclusion / 小結 133

Bibliography / 文獻 133



Chapter 10: Classes / 類 135

Class Organization / 類的組織 136

Classes Should Be Small! / 類應該短小 136

Organizing for Change / 為了修改而組織 147

Bibliography / 文獻 151



Chapter 11: Systems / 系統 153

How Would You Build a City / 如何建造一個城市 154

Separate Constructing a System from Using It /

將系統的構造與使用分開 154

Scaling Up / 擴容 157

Java Proxies / Java 代理 161

Pure Java AOP Frameworks / 純Java AOP 框架 163

AspectJ Aspects / AspectJ 的方面 166

Test Drive the System Architecture / 測試驅動系統架構 166

Optimize Decision Making / 優化決策 167

Use Standards Wisely, When They Add Demonstrable Value /

明智使用添加了可論證價值的標準 168

Systems Need Domain-Specific Languages /

系統需要領域特定語言 168

Conclusion / 小結 169

Bibliography / 文獻 169



Chapter 12: Emergence / 迭進 171

Getting Clean via Emergent Design / 通過迭進設計達到整潔目的 171

Simple Design Rule 1: Runs All the Tests /

簡單設計規則1:運行所有測試 172

Simple Design Rules 2?C4: Refactoring / 簡單設計規則2~4:重構 172

No Duplication / 不可重復 173

Expressive / 表達力 175

Minimal Classes and Methods / 盡可能少的類和方法 176

Conclusion / 小結 176

Bibliography / 文獻 176



Chapter 13: Concurrency / 并發編程 177

Why Concurrency / 為什么要并發 178

Challenges / 挑戰 180

Concurrency Defense Principles / 并發防御原則 180

Know Your Library / 了解Java 庫 182

Know Your Execution Models / 了解執行模型 183

Beware Dependencies Between Synchronized Methods /

警惕同步方法之間的依賴 185

Keep Synchronized Sections Small / 保持同步區域微小 185

Writing Correct Shut-Down Code Is Hard /

很難編寫正確的關閉代碼 186

Testing Threaded Code / 測試線程代碼 186

Conclusion / 小結 190

Bibliography / 文獻 191



Chapter 14: Successive Refinement / 逐步改進 193

Args Implementation / Args 的實現 194

Args: The Rough Draft / Args:草稿 201

String Arguments / 字符串類型參數 214

Conclusion / 小結 250



Chapter 15: JUnit Internals / JUnit 內幕 251

The JUnit Framework / JUnit 框架 252

Conclusion / 小結 265



Chapter 16: Refactoring SerialDate / 重構SerialDate 267

First, Make It Work / 首先,讓它能工作 268

Then Make It Right / 讓它做對 270

Conclusion / 小結 284

Bibliography / 文獻 284



Chapter 17: Smells and Heuristics / 味道與啟發 285

Comments / 注釋 286

Environment / 環境 287

Functions / 函數 288

General / 一般性問題 288

Java 307

Names / 名稱 309

Tests / 測試 313

Conclusion / 小結 314

Bibliography / 文獻 315



Appendix A: Concurrency II / 并發編程II 317

Appendix B: org.jfree.date.SerialDate 349

Appendix C: Cross References of Heuristics / 啟發式交叉參考 409

Epilogue / 結束語 411

展開全部

代碼整潔之道 英文版 作者簡介

[美] 羅伯特·C. 馬丁(Robert C. Martin):軟件開發大師,設計模式和敏捷開發先驅,敏捷聯盟首任主席,C Report前主編,被后輩程序員尊稱為“Bob大叔”。20世紀70年代初成為職業程序員,后創辦Object Mentor公司并任總裁。Martin還是一名多產的作家,至今已發表數百篇文章、論文和博客文章。除本書外,還著有《代碼整潔之道:程序員的職業素養》《敏捷軟件開發:原則、模式和實踐》《UML:Java程序員指南》等。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 茶叶百科网-茶叶知识与茶文化探讨分享平台 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 汽车水泵_汽车水泵厂家-瑞安市骏迪汽车配件有限公司 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 钢衬玻璃厂家,钢衬玻璃管道 -山东东兴扬防腐设备有限公司 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备 | 板材品牌-中国胶合板行业十大品牌-环保板材-上海声达板材 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 青岛成人高考_山东成考报名网| 北京开源多邦科技发展有限公司官网 | 回转炉,外热式回转窑,回转窑炉-淄博圣元窑炉工程有限公司 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 菲希尔X射线测厚仪-菲希尔库伦法测厚仪-无锡骏展仪器有限责任公司 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 |