图书封面

《架构整洁之道》,罗伯特 C. 马丁(Robert C. Martin)著,电子工业出版社,2018年9月出版。

这是一本老程序员写成的书,多老的程序员呢?作者自称"已经编程超过50年"(从1964年"写下了人生的第一行代码"算起)。有这么漫长的编程经历,意味着其亲身接触参与过各种差别迥异的大大小小的软件项目,在这些项目中摸爬滚打,自然能够形成很多具备足够深度的思考和沉淀,值得我们这些后辈们学习。

全书包含34章,分为6个部分,从编程范式讲起,提及接口、模块、组件等相关设计原则,也包括服务、嵌入式、数据库、Web、测试等跨度较大的不同领域。本书的编排和文字都很有特点:每章开头都配有一幅漫画,而在介绍这些原则时,都会详细介绍背景和相关概念,展示实例并做解释,很多概念和实例都比较有年代感了,作者甚至认真地画下了(如今几乎已过时的)UML图来加以说明。

对于经历过上世纪90年代和本世纪初软件编程发展早期的读者而言,这本书有很强的怀旧体验价值,尤其是在阅读附录A"架构设计考古"时(作者几乎把它写成了自传)。当然,不可否认的是,透过这些看似陈旧的实例,本书确实传达了很多有价值的原则(其中不乏诸如"单一职责"、“开闭原则"等耳熟能详的词汇),至今也仍应该在软件开发中注意并加以实践。从这点看,书名的"之道"二字并无夸大和不妥。

过去一两年,AI辅助编程大行其道,Vibe coding(氛围编程)更是红极一时,但真正做软件开发的人,相信在享受其便利的同时,也不免被其坑惨。究其原因,任何魔法都是有代价的。如果不注重架构设计,不对AI(换成人也一样)编写的代码做必要且足够的监督和审查,软件代码的腐化、技术债的累积,一定是在所难免的。针对此,这本书正有其价值。