登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』代码整洁之道 英文版

書城自編碼: 3609627
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: [美] 罗伯特·C.,马丁[Robert C.,Martin
國際書號(ISBN): 9787115557582
出版社: 人民邮电出版社
出版日期: 2021-03-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 861

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
长寿时代:做自己人生的CFO
《 长寿时代:做自己人生的CFO 》

售價:NT$ 310.0
早点知道会幸福的那些事
《 早点知道会幸福的那些事 》

售價:NT$ 295.0
知宋·宋代之货币
《 知宋·宋代之货币 》

售價:NT$ 340.0
爱的7种对话:建立持续一生的亲密关系     (加)苏·约翰逊
《 爱的7种对话:建立持续一生的亲密关系 (加)苏·约翰逊 》

售價:NT$ 345.0
中国近现代武术思想史研究
《 中国近现代武术思想史研究 》

售價:NT$ 500.0
废奴
《 废奴 》

售價:NT$ 350.0
有法与无法:清代的州县制度及其运作 最新修订版
《 有法与无法:清代的州县制度及其运作 最新修订版 》

售價:NT$ 640.0
重启春光
《 重启春光 》

售價:NT$ 214.0

編輯推薦:
1.“阅读这本书有两种原因:*,你是个程序员;第二,你想成为更好的程序员。很好,IT行业需要更好的程序员!”——罗伯特·C. 马丁(Robert C. Martin)
2. 提出"代码质量与其整洁度成正比",经数百万程序员实践验证与推崇;强调"以简单又直接的方式描绘代码的功能",奠定重构和调优的基础;阐述设计原则、方法与实践案例,助力频繁而快速地发布高质量代码。
3. C++首席专家&作家James O. Coplien作序推荐,豆瓣评分8.6分,被誉为"程序员童子军规则",软件开发不可不读的经典著作。
尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。但是,这种情况并非无法避免。
著名软件专家罗伯特·C. 马丁(Robert C. Martin) 在本书中为你呈现了革命性的视野。他携同Object Mentor公司的同事,从他们有关整洁代码的高效敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员——只要你着手研读本书。
阅读本书需要你做些什么呢?你将阅读代码——大量代码。本书会促使你思考何谓正
內容簡介:
软件质量,不但依赖架构和项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。
本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
软件质量,不但依赖架构和项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。

本书提出一种观点:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

本书阅读对象为有志于改善代码质量的程序员和技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一家之言,然诚有可资借鉴的价值。
關於作者:
[美] 罗伯特·C. 马丁(Robert C. Martin):
软件开发大师,设计模式和敏捷开发先驱,敏捷联盟首任主席,C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪70年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。除本书外,还著有《代码整洁之道:程序员的职业素养》《敏捷软件开发:原则、模式和实践》《UML:Java程序员指南》等。
目錄
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
DataObject 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

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.