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