我最近下定决心不再拖延博客的更新,但也懒得重启独立的技术博客,于是以后技术博文就在这里发表。

计算机科学基础老生常谈,编程语言也是如此。我没兴趣当 language lawyer, 就讲讲颇为人文的编程规范吧。

大家过去应该也看到过不少类似的关键词:代码风格、编码风格、编程风格和编程规范等等。光一家著名的 Google Coding Guide Style 的民间翻译就囊括了以上用词。最初,李开复先生称它为「编码规范」,且我以前翻译 Google C++ Guide Style 时,没仔细琢磨好翻译用词,就同时用到了「风格」,「编码」,「编程」等等,不一致啊。

咬文嚼字了一会,先从「代码」、「编码」、「编程」汰劣存优开始吧。「代码」只是一个名词,不如动词来得亲切;「编码」即是表示一系列机器级别指令的名词,又是表示手动转换机器码与汇编码的动词;然而人类死跟机器码较劲的时代已经结束了,现在是高级编程语言的天下了,我们不想拘泥于表面的「编码」,而只关心足够抽象的 Program, 即程序,所以现在看来「编程」是最理想的翻译用词。

至于「风格」与「规范」又如何呢?我倾向于 The conventions we follow 对此的分析:「风格」只讲究代码的格式化形式,比如缩进啊空白啊注释形式啊,然而「规范」涉及的更为广泛,即同时包括了编程风格和其它规范,就像该不该用某语言特性,用什么编译工具链,甚至如何版本控制等等。

编程可谓一门艺术,又是一项工程。若要运用得炉火纯青,可不能光划个风格就了事,还要相当洞悉所用编程语言的特性,以及开发环境的理想部署等等,这时「规范」就很重要了。从此以后,我将不时地探讨种种编程规范。

Comments

2017 Aug 31