《整洁代码的艺术》译者序

这是一本讲述常识的书。

如果你已经有多年职业经验,读到书中内容,不免会觉得都是老生常谈。然而,常识之所以需要被一遍又一遍地普及,正是由于人们总以为自己已经掌握了常识。殊不知我们常常混淆“掌握”与“知道”,拿知道当掌握,不免一遍又一遍地违背常识、吃够苦头。

这是一本讲述编程领域常识的书。自从有软件以来,技术专才们对它的研究和实践产出了各种方法论和流派。最近十来年,“整洁代码”成为其中一支主要思想派别,也成了软件界的主流常识。罗伯特·C·马丁(鲍勃大叔)的“整洁”系列著作被奉为圭臬,拿知道当掌握的戏码又一次上演。我们继续违背常识,写着并不整洁的代码,吃够苦头。

这是一本讲述在所有专业工作中如何保持高产出的书。随便翻翻,你会发现,书中的代码量少到不像一本技术书。这就对了。再仔细阅读,你会发现,总共9章正文里面,只有第4章、第5章和第7章与技术百分之百有关,其他章节要么仅一部分与技术有关,要么与技术毫无关系。作者跳出技术本身,从更社会学、心理学的角度谈技术人的成功要素,反而能对埋头于代码中的程序员们有别开生面的启发。例如第2章,用多个数据证明帕累托原则的现实意义,告诉读者将有限时间和精力持续聚焦于少数要务,获得更有效的上升成果。又如第6章,介绍心理学上的“心流”概念,看似与技术风马牛不相及,却是提升技术人员产出的“大杀器”。

本书作者既是经验丰富的开发人员,又是编程技术在线教育平台的创始人与运营者,对于提升编程能力和整体产出自有一套心法,总而言之曰“专注”。好玩的是,在“专注”主旨之下,书中有些观点与鲍勃大叔意见截然相左。例如“心流”,鲍勃大叔在《匠艺整洁之道:程序员的职业修养(Clean Craftsmanship: Disciplines, Standards, and Ethics)》中就明确反对过。我相信这种事必然因人而异、各有道理,不必评判孰对孰错。

在翻译过程中,我时时忍不住想给这本书改个名,因为它真的没花很多篇幅阐述“整洁代码”,更像是一本讲成功学的书。那么,什么名字更适合呢?有本经典经营管理类著作,名为《追求卓越(In Search of Excellence)》。虽然在深度和广度上,《整洁代码的艺术》都远远比不上《追求卓越》,但我愿意借后者给前者重新命名为《追求卓越:程序员生存之道》。

希望程序员读者们能从这本书里面学会你的职业生存与发展之道。

韩磊  2022年9月19日

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注