本书分享的实用技巧可以帮助你编写鲁棒、可靠且易于团队成员理解和适应不断变化需求的代码。内容涉及如何像高效的软件工程师一样思考代码,如何编写读起来像一个结构良好的句子的函数,如何确保代码可靠且无错误,如何进行有效的单元测试,如何识别可能导致问题的代码并对其进行改进,如何编写可重用并适应新需求的代码,如何提高读者的中长期生产力,同时还介绍了如何节省开发人员及团队的宝贵时间,等等。
......(更多)
Tom Long,拥有剑桥大学信息工程专业硕士学位,目前担任Google公司高级开发工程师,领导一支针对移动设备广告的自动化及优化的技术团队。目前重点关注软件工程、Java开发、团队管理、数据分析、移动广告、技术创新等方向。
......(更多)
●第一部分 理论
第1章 代码质量
1.1 代码如何变成软件
1.2 代码质量目标
1.2.1 代码应该正常工作
1.2.2 代码应该持续正常工作
1.2.3 代码应该适应不断变化的需求
1.2.4 代码不应该重复别人做过的工作
1.3 代码质量的支柱
1.3.1 编写易于理解的代码
1.3.2 避免意外
1.3.3 编写难以误用的代码
1.3.4 编写模块化的代码
1.3.5 编写可重用、可推广的代码
1.3.6 编写可测试的代码并适当测试
1.4 编写高质量代码是否会拖慢进度
1.5 小结
第2章 抽象层次
2.1 空值和本书中的伪代码惯例
2.2 为什么要创建抽象层次
2.3 代码层次
2.3.1 API和实现细节
2.3.2 函数
2.3.3 类
2.3.4 接口
2.3.5 当层次太薄的时候
2.4 微服务简介
2.5 小结
第3章 其他工程师与代码契约
3.1 你的代码和其他工程师的代码
3.1.1 对你来说显而易见,但对其他人并不清晰的事情
3.1.2 其他工程师无意间试图破坏你的代码
3.1.3 过段时间,你会忘记自己的代码的相关情况
3.2 其他人如何领会你的代码的使用方法
3.2.1 查看代码元素的名称
3.2.2 查看代码元素的数据类型
3.2.3 阅读文档
3.2.4 亲自询问
3.2.5 查看你的代码
3.3 代码契约
3.3.1 契约的附属细则
3.3.2 不要过分依赖附属细则
……
第二部分 实践
第三部分 单元测试
附录A 巧克力糕饼食谱
附录B 空值安全与可选类型
附录C 额外的代码示例
......(更多)
......(更多)