编程的基本概念(关于编程中命名这件事)

编程的基本概念(关于编程中命名这件事)(1)

计算机科学的两件难事:缓存失效和命名。在实际编程开发过程中碰到最多的问题就是命名,可能你并未意识到或者你意识到了但并未把它当成一个问题。数据库的表名和字段名,类名,函数名,变量名等,就是由这些基础元素构成了整个系统。我们在开发中命名大多不甚在意,往往会随意定个名字,当时还能记得其表意,过段时间后连自己都会忘记其内容。这种情况一旦过多,整个系统就会变成密文编码,维护成本会极高,大部分时间都会消耗在破解这些密文上。

有个好的命名的系统,会成倍提高编程效率和降低系统维护成本。好的命名就是对系统涉及的概念给出明确清晰的定义,这会有助于对系统整体设计进行思考。好的命名能保证所有参与开发人员对系统有统一的认知,而不是建立在各自对系统概念猜想和假设前提下去编程,从而导致一系列bug甚至偏离系统初始目标。我们需要用一些规范来指导我们做好命名这件事。

命名要精练,在能表达其含义的基础上尽量精简的词汇表达。在命名时首先不要担心命名过长,要是其含义必须使用超长词表达,那就应该如此,见名知意是命名规则的核心点。在有一个名字前提下,可以根据程序上下文或者领域类缩写原则进行命名提炼,取个尽量完美的名字。程序是我们的创造物,是我们自己的孩子,就不要给自家孩子取王大、王二这类名字了,给它取个有意义又好记住的名字吧。

命名要统一风格,在一个系统中,表达同一含义的词要保持统一。如修改客户姓名的使用modify,那在修改客户电话就不要使用update。同一含义使用不同的词,会诱导其他人去猜测这两者之间的不同。类名都使用名词结构,方法都使用动宾结果,也是保持统一风格的一种方式。

命名要有明确的界限,不同含义的命名不要使用近似的命名。如给数组追加元素和数组元素相加,就不要使用addArr和addArrEle,可以使用add和append进行表达。

要了解更加详细的命名规则,可阅读《代码的整洁之道》(Clean Code)。此外,觉得自己词汇量不够可以借助词典翻译,也可以借助一些命名工具提高命名效率,如Codelf ,这个工具经常失效,我搭建一个类似的服务网站code-name,提供类似的功能并进行了相应优化。

编程的基本概念(关于编程中命名这件事)(2)

CodeName可以通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Projec的项目源码,帮开发者从中找出已有的匹配关键字的变量名。这个搜索服务支持直接搜索中文,也支持英文。可以根据需要限定检索语言和检索模式,查询尽可能满足需要的结果,单击结果可直接复制。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页