☚ GZOOL Quality Without A Name

单页Web应用 译后记

单页Web应用

突然想为这本书写篇译后记,一来是出版社的老师已经提前发布了《译者序》的内容,相同的文字再发一遍觉得没啥意思。二来正好还点事情想说明一下。

关于代码注释

本书的代码注释没有翻译。这问题挺纠结,我之前看到过有很多人吐槽译者不翻译代码注释。大家可能会以为这是时间问题或者是译者偷懒。怎么说呢,不翻译注释的确是可以节省时间。但我想所有的译者,特别是像我种只能在业余时间翻译的译者,不会为了赶进度而不翻译注释,出版社给译者的时间还是很充足的,适当的延迟交付都是可以理解的。

一开始我是打算翻译注释的,在译到第 3 章的时候,发现问题比较严重。因为有些注释翻译出来会显得很没意思,像标记代码区块开始的 BEGIN 以及标记代码区块结束的 END。这种词翻译后只会增加读者的阅读负担,让人觉得莫名其妙。我相信很多程序员本来就是用英文写注释的,特别是一些约定俗成的专有名词、惯例标记等。

但还有其他一些解释性的注释呢,有些还是很重要的啊?纠结的问题就在这里,注释要么全部翻译,要么全部不翻译,总不能一会儿译一会儿不译,我至今也没有看到过这样的书,也没和编辑确认过。所以最后和编辑确认后就决定不译了。

我知道上面这些为自己“开脱”的话既苍白又无力。但我以不是译者的身份再说说自己的想法。

首先,作为程序员,要把英语拿起来,英语的重要性就不用我说了。不是说看译文就是在看别人消化后的东西(这我觉得没什么不好,译文的目的之一是提升读者的阅读速度),而是能流畅地看英文的话就能看标准和规范,也能第一时间欣赏国外作者的原创文章,这才是最吸引人的地方。

其次,就这本书来说,第一遍看时可以不用看代码,不用“追根究底”,主要看正文部分作者的解释说明。其实很多书的代码都不用看,特别是大段大段的代码,光看正文足已,等要用到了再来仔细琢磨也来得及。如果你正好在开发一个和作者演示程序类似的项目,那另当别论。当然看不看代码因人而异,请根据自己的爱好习惯决定。

这本书主要讲了什么东西?前端、后端还是全端?

这本书重点讲的是单页应用的前端架构设计。讲了模块化设计的思想、模块之间相互通信的规范、文件的组织和命名约定等等,这些知识对于刚刚接触单页应用开发的人来说会有“如获至宝”的感觉。作者介绍了很多工具,自己的经验分享以及自己的看法。其中还不惜花费了一整章来讲解在编写模块时所需要了解的JS基础知识。

但作者也讲了 Node.js、MongoDB、编码规范、测试等。这些在我看来都是附赠的内容,是 bonus,是为了“卖相”好看。但这些额外的内容都非常不错,毕竟占了这么大的篇幅,对于前端工程师来说可能是薄弱的环节甚至是盲点,但看无妨。人总喜欢完整的和对称的事物,作者不能光顾前端而不管后端,连演示程序也运行不起来,总有点说不过去。完整的事物有助于加深理解。

作者讲解的单页应用架构,不管用的哪种后端都是适用的。这其实是废话,前端和后端早就被前辈们很好地隔离开了。所以这书我不但推荐前端仔细阅读,也建议会经常和前端打交道的后端仔细翻阅,当然投身全栈开发的更加不可以错过。

希望这本书能真正地帮到您,这才是最让我欣慰的!

comments powered by Disqus