开篇 | 内容一:是什么让代码变得“更好” 1. 可读性基本原理 |
代码形式的改进
| 内容一:将信息装进名字里 1. 选择专业的词 2. 避免使用像 tmp 这样泛泛的名字 3. 用具体的名字代替抽象的名字 4. 为名字附带更多信息 5. 名字应该有多长 6. 利用名字的格式类传递含义 内容二:不会误解的名字 1. Filter() 与 Clip(text, length) 2. 使用 first 和 last 来表示包含的范围 3. 使用 begin 和 end 来表示包含/排除范围 4. 给布尔值命名 5. 与使用者的期望相匹配 6. 实战:如何权衡多个备选的名字 内容三:代码审美学 1. 保持一致和紧 2. 用函数来整理不规则的代 3. 在需要时使用列对 4. 始终保持一个有意义的顺 5. 把声明按块组织起 6. 把代码分成“段落 7. 个人风格与一致性 内容四:该写什么样的注释 1.什么不需要注释 |
简化循环和逻辑
| 内容五:把控制流变得易读 1. 条件语句中参数的顺序 2. if/else 语句块的顺 3. 三目运算 4. 避免 do/while 循 5. 从函数中提前返 6. 臭名昭著的 got 7. 最小化嵌套 内容六:拆分超长的表达式 1. 使用解释性变 2. 使用总结性变 3. 使用德摩根定 4. 滥用的短路逻辑 5. 实战:与复杂的逻辑战斗 6. 拆分巨大的语句 7. 简化表达式的创意方法 内容七:变量与可读性 1. 减少变量 2. 缩小变量的作用域 3. 只写一次的变量 4. 实战:变量优化 |
重新组织代码 | 内容八:抽取不相关的子问题 1. 例子:findClosestLocation() 2. 纯工具代码 3. 其他多用途代码 4. 创建大量通用代码 5. 项目专有功能 6. 简化已有接口 7. 按需重塑接口 8. 过犹不及 内容九:一次只做一件事 1. 任务可以很小 2. 从对象中抽取值 3. 大型的例子 内容十:把想法变为代码 1. 清楚的描述逻辑 2. 了解函数库是有帮助的 3. 把这个方法用于更大的问题 内容十一:少些代码 1. 别费神去实现你不需要的功能 2. 质疑和拆分你的需求 3. 保持小代码库 4. 熟悉你周边的代码库 |
精化测试代码 | 内容十二:测试与可读性 1. 使测试易于阅读和维护 2. 测试代码的问题 3. 如何使测试代码更可读 4. 让错误消息具有可读性 5. 选择好的测试输入 6. 为测试函数命名 7. 测试函数中的陷阱 8. 测试驱动开发 |
项目实战 | 内容十三:设计并改进“计数器“ 1. 问题 2. 定义类接口 3. 尝试 1 – 一个幼稚的方案 4. 尝试 2 – 传送带设计方案 5. 尝试 3 – 时间桶设计方案 6. 比较三种方案 |
课程特点
本课程可以让程序员将以往格式凌乱、拖沓冗长的代码变得更具可读性,更整洁,更优 雅。编写程序不仅是去告诉计算机你要做什么,更重要的是让人明白,你想要让计算机去做 什么。 而编写简洁、清晰、美观、容易理解的代码,才能够让”人“容易明白自己的意图。
课程对象
只要是需要编写代码的人员,都适合本课程,有 C 语言,C++/Java 语言背景者更佳