代码最主要的读者不再是编译器、解释器或者电脑,而是人

代码最重要的读者不再是编译器、解释器或者电脑,而是人!

        在做IT的公司里,尤其是软件开发部门,一般不会要求工程师衣着正式。在我工作过的一些环境相对宽松的公司里,很多程序员的衣着连得体都算不上(搞笑的T恤、短裤、拖鞋或者干脆不穿鞋)。我想,我本人也在这个行列里面。虽然我现在改行做软件开发方面的咨询工作,但还是改不了这副德性。衣着体面的其中一个积极方面是它体现了对周围人的尊重,以及对所从事工作的尊重。比如,那些研究市场的人要表现出对客户的尊重。而大多数程序员基本上每天主要的工作就是和其他程序员打交道。那么这说明程序员之间就不用互相尊重吗?而且也不用尊重自己的工作吗?

       程序员之间的互相尊重体现在他所写的代码中。他们对工作的尊重也体现在那里。

       在《Clean Code》一书中Bob大叔认为在代码阅读过程中人们说脏话的频率是衡量代码质量的唯一标准。这也是同样的道理。

       这样,代码最重要的读者就不再是编译器、解释器或者电脑了,而是人。写出的代码能让人快速理解、轻松维护、容易扩展的程序员才是专业的程序员。

       当然,为了达到这些目的,仅有编写程序的礼节是不够的,还需要很多相关的知识。这些知识既不属于编程技巧,也不属于算法设计,并且和单元测试或者测试驱动开发这些话题也相对独立。这些知识往往只能在公司无人问津的编程规范中才有所提及。这是我所见的仅把代码可读性作为主题的一本书,而且这本书写得很有趣!

       既然是“艺术”,难免会有观点上的多样性。译者本身作为程序员观点更加“极端”一些。然而两位作者见多识广,轻易不会给出极端的建议,如“函数必须要小于10行”或者“注释不可以用于解释代码在做什么而只能解释为什么这样做”等语句很少出现在本书中。相反,作者给出目标以及判断的标准。

       翻译书是件费时费力的事情,好在本书恰好涉及我感兴趣的话题。但翻译本书有一点点自相矛盾的地方,因为书中相当的篇幅是在讲如何写出易读的英语。当然这里的“英语”大多数的时候只是指“自然语言”,对于中文同样适用。但鉴于大多数编程语言都是基于英语的(至少到目前为止),而且要求很多程序员用英语来注释,在这种情况下努力学好英语也是必要的。

       感谢机械工业出版社的各位编辑帮助我接触和完成这本书的翻译。这本译作基本上可以说是在高铁和飞机上完成的(我此时正在新加坡飞往香港的飞机上)。因此家庭的支持是非常重要的。尤其是我的妻子郑秀雯(是的,新加坡的海关人员也对她的名字感兴趣),她是全书的审校者。还有我“上有的老人”和“下有的小孩”,他们给予我帮助和关怀以及不断前进的动力。

尹哲

------------------------------------------------

本文为《编写可读代码的艺术》译者序,原书名:The Art of Readable Code,作者:Dustin Boswell & Trevor Foucher。

代码最主要的读者不再是编译器、解释器或者电脑,而是人【关于本书】


【关于作者】

Dustin Boswell毕业于加州理工大学,资深软件工程师,在Google就职多年,负责Web爬虫和程序设计相关的工作。他专注于前端、后端,服务器架构、机器学习、大数据、系统和网站等技术领域的研究和实践,经验十分丰富。他现在是MyLikes的软件工程师。

Trevor Foucher资深软件工程师和技术经理,先后在Microsoft和Google工作了数十年,在Microsoft担任软件工程师、技术经理以及安全产品技术主管,在Google从事广告应用开发和搜索基础结构研发相关的工作。

【样章下载】http://download.csdn.net/detail/hzbooks/4375270

【豆瓣收藏】http://book.douban.com/subject/10797189/