软件开发既需要理论和科学,也需要经验和手艺。可惜,一直以来许多图书都只关注前一部分,而忽略了后一部分。Mark的这本书主要关注的就是经验和手艺的部分。本书既详细讲解了 API 设计、红绿重构等常用技术,也演示了如何撰写提交说明、如何修改单元测试,同时对故障定位、代码阅读、团队合作等传统上被认为“难以说清”的话题,也给出了实用而且精当的建议。难能可贵的是,与其他图书提供的示例代码库不同,本书的示例代码库包含了完整的 Git 提交记录。也就是说,读者可以按照作者的路径,一步一个脚印地重温整个开发过程。
如果你的经验还不够丰富,建议严格按照作者的讲解,认真读接近书,掌握软件工程的技巧。如果你已经有足够的开发经验,不妨在速览全书后,精读自己不熟悉但感兴趣的部分。对自己不认同的部分,也不妨花时间了解作者主张的前因后果,让自己对许多问题有更全面的认知。
全书以 C# 为示范语言,但并没有用到太多 C# 的专属特性。面对示例代码,任何熟悉现代主流面向对象语言的读者,都可以很容易地理解作者背后的思考。