×
思维导图备注
《代码整洁之道》中文翻译
首页
小程序
下载
阅读记录
书签管理
我的书签
添加书签
移除书签
编辑文档
第 8 章 Boundaries 边界
来源 1
浏览
901
扫码
分享
2020-04-12 09:11:05
第 8 章 Boundaries 边界
上一篇:
下一篇:
附录 A 并发编程 II
A.1 CLIENT/SERVER EXAMPLE 客户端/服务器的例子
A.10 TUTORIAL: FULL CODE EXAMPLES 教程:完整代码范例
A.2 POSSIBLE PATHS OF EXECUTION 执行的可能路径
A.3 KNOWING YOUR LIBRARY 了解类库
A.4 DEPENDENCIES BETWEEN METHODS CAN BREAK CONCURRENT CODE 方法之间的依赖可能破坏并发代码
A.5 INCREASING THROUGHPUT 提升吞吐量
A.6 DEADLOCK 死锁
A.7 TESTING MULTITHREADED CODE 测试多线程代码
A.8 TOOL SUPPORT FOR TESTING THREAD-BASED CODE 测试线程代码的工具支持
A.9 CONCLUSION 小结
第 1 章 Clean Code 整洁代码
1.1 THERE WILL BE CODE 要有代码
1.2 BAD CODE 糟糕的代码
1.3 THE TOTAL COST OF OWNING A MESS 混乱的代价
1.4 SCHOOLS OF THOUGHT 思想流派
1.5 WE ARE AUTHORS 我们是作者
1.6 THE BOY SCOUT RULE 童子军军规
1.7 PREQUEL AND PRINCIPLES 前传与原则
1.8 CONCLUSION 小结
第 10 章 Classes 类
10.1 CLASS ORGANIZATION 类的组织
10.2 CLASSES SHOULD BE SMALL! 类应该短小
10.3 ORGANIZING FOR CHANGE 为了修改而组织
第 11 章 Systems 系统
11.1 HOW WOULD YOU BUILD A CITY? 如何建造一个城市
11.10 SYSTEMS NEED DOMAIN-SPECIFIC LANGUAGES 系统需要领域特定语言
11.11 CONCLUSION 小结
11.2 SEPARATE CONSTRUCTING A SYSTEM FROM USING IT 将系统的构造与使用分开
11.3 SCALING UP 扩容
11.4 JAVA PROXIES Java 代理
11.5 PURE JAVA AOP FRAMEWORKS 纯 Java AOP 框架
11.6 ASPECTJ ASPECTS AspectJ 的方面
11.7 TEST DRIVE THE SYSTEM ARCHITECTURE 测试驱动系统架构
11.8 OPTIMIZE DECISION MAKING 优化决策
11.9 USE STANDARDS WISELY, WHEN THEY ADD DEMONSTRABLE VALUE 明智使用添加了可论证价值的标准
第 12 章 Emergence 迭进
12.1 GETTING CLEAN VIA EMERGENT DESIGN 通过迭进设计达到整洁目的
12.2 SIMPLE DESIGN RULE 1: RUNS ALL THE TESTS 简单设计规则 1:运行所有测试
12.3 SIMPLE DESIGN RULES 2–4: REFACTORING 简单设计规则 2 ~ 4:重构
12.4 NO DUPLICATION 不可重复
12.5 EXPRESSIVE 表达力
12.6 MINIMAL CLASSES AND METHODS 尽可能少的类和方法
12.7 CONCLUSION 小结
第 13 章 Concurrency 并发编程
13.1 WHY CONCURRENCY? 为什么要并发
13.10 CONCLUSION 小结
13.2 CHALLENGES 挑战
13.3 CONCURRENCY DEFENSE PRINCIPLES 并发防御原则
13.4 KNOW YOUR LIBRARY 了解 Java 库
13.5 KNOW YOUR EXECUTION MODELS 了解执行模型
13.6 BEWARE DEPENDENCIES BETWEEN SYNCHRONIZED METHODS 警惕同步方法之间的依赖
13.7 KEEP SYNCHRONIZED SECTIONS SMALL 保持同步区域微小
13.8 WRITING CORRECT SHUT-DOWN CODE IS HARD 很难编写正确的关闭代码
13.9 TESTING THREADED CODE 测试线程代码
第 14 章 Successive Refinement
第 15 章 JUnit Internals JUnit 内幕
15.1THE JUNIT FRAMEWORK JUnit 框架
15.2 CONCLUSION 小结
第 16 章 重构 SerialDate
第 17 章 味道与启发
第 2 章 Meaningful Names 有意义的命名
2.1 INTRODUCTION 介绍
2.10 METHOD NAMES 方法名
2.11 ON’T BE CUTE 别扮可爱
2.12 PICK ONE WORD PER CONCEPT 每个概念对应一个词
2.13 DON’T PUN 别用双关语
2.14 USE SOLUTION DOMAIN NAMES 使用解决方案领域名称
2.15 USE PROBLEM DOMAIN NAMES 使用源自所涉问题领域的名称
2.16 ADD MEANINGFUL CONTEXT 添加有意义的语境
2.17 DON’T ADD GRATUITOUS CONTEXT 不要添加没用的语境
2.18 FINAL WORDS 最后的话
2.2 USE INTENTION-REVEALING NAMES 名副其实
2.3 AVOID DISINFORMATION 避免误导
2.4 MAKE MEANINGFUL DISTINCTIONS 做有意义的区分
2.5 USE PRONOUNCEABLE NAMES 使用读得出来的名称
2.6 USE SEARCHABLE NAMES 使用可搜索的名称
2.7 AVOID ENCODINGS 避免使用编码
2.8 AVOID MENTAL MAPPING 避免思维映射
2.9 CLASS NAMES 类名
第 3 章 Functions 函数
3.1 SMALL! 短小
3.10 DON’T REPEAT YOURSELF13 别重复自己
3.11 STRUCTURED PROGRAMMING 结构化编程
3.12 HOW DO YOU WRITE FUNCTIONS LIKE THIS? 如何写出这样的函数
3.13 CONCLUSION 小结
3.14 SETUPTEARDOWNINCLUDER SetupTeardownIncluder 程序
3.2 DO ONE THING 只做一件事
3.3 ONE LEVEL OF ABSTRACTION PER FUNCTION 每个函数一个抽象层级
3.4 SWITCH STATEMENTS switch 语句
3.5 USE DESCRIPTIVE NAMES 使用描述性的名称
3.6 FUNCTION ARGUMENTS 函数参数
3.7 HAVE NO SIDE EFFECTS 无副作用
3.8 COMMAND QUERY SEPARATION 分隔指令与询问
3.9 PREFER EXCEPTIONS TO RETURNING ERROR CODES 使用异常替代返回错误码
第 4 章 Comments 注释
4.1 COMMENTS DO NOT MAKE UP FOR BAD CODE 注释不能美化糟糕的代码
4.2 EXPLAIN YOURSELF IN CODE 用代码来阐述
4.3 GOOD COMMENTS 好注释
4.4 BAD COMMENTS 坏注释
第 5 章 Formatting 格式
5.1 THE PURPOSE OF FORMATTING 格式的目的
5.2 VERTICAL FORMATTING 垂直格式
5.3 HORIZONTAL FORMATTING 横向格式
5.4 TEAM RULES 团队规则
5.5 UNCLE BOB’S FORMATTING RULES 鲍勃大叔的格式规则
第 6 章 Objects and Data Structures 对象和数据结构
6.1 DATA ABSTRACTION 数据抽象
6.2 DATA/OBJECT ANTI-SYMMETRY 数据、对象的反对称性
6.3 THE LAW OF DEMETER 得墨忒耳律
6.4 DATA TRANSFER OBJECTS 数据传送对象
6.5 CONCLUSION 小结
第 7 章 Error Handling 错误处理
7.1 USE EXCEPTIONS RATHER THAN RETURN CODES 使用异常而非返回码
7.2 WRITE YOUR TRY-CATCH-FINALLY STATEMENT FIRST 先写 Try-Catch-Finally 语句
7.3 USE UNCHECKED EXCEPTIONS 使用不可控异常
7.4 PROVIDE CONTEXT WITH EXCEPTIONS 给出异常发生的环境说明
7.5 DEFINE EXCEPTION CLASSES IN TERMS OF A CALLER’S NEEDS 依调用者需要定义异常类
7.6 DEFINE THE NORMAL FLOW 定义常规流程
7.7 DON’T RETURN NULL 别返回 null 值
7.8 DON’T PASS NULL 别传递 null 值
7.9 CONCLUSION 小结
第 8 章 Boundaries 边界
8.1 USING THIRD-PARTY CODE 使用第三方代码
8.2 EXPLORING AND LEARNING BOUNDARIES 浏览和学习边界
8.3 LEARNING LOG4J 学习 log4j
8.4 LEARNING TESTS ARE BETTER THAN FREE 学习性测试的好处不只是免费
8.5 USING CODE THAT DOES NOT YET EXIST 使用尚不存在的代码
8.6 CLEAN BOUNDARIES 整洁的边界
第 9 章 Unit Tests 单元测试
9.1 THE THREE LAWS OF TDD TDD 三定律
9.2 KEEPING TESTS CLEAN 保持测试整洁
9.3 CLEAN TESTS 整洁的测试
9.4 ONE ASSERT PER TEST 每个测试一个断言
9.5 F.I.R.S.T.
9.6 CONCLUSION 小结
Clean Code 中文
README
暂无相关搜索结果!
本文档使用
BookStack
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
×
微信小程序阅读
微信扫一扫,知识掌上学
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度