TianYapeng 2018-05-02
在平时工作中,好多程序员同志们都在为变量的命名纠结不已,随便命名怕以后看不懂,想好好命名可是自己的英文水平又不好,在这个命名上可能需要花费大量的时间,会耽误到开发的效率,那么今天就围绕变量命名展开话题,看看怎么才能做到不再为变量命名纠结!
首先,来说一下,为变量弄个合适的命名有什么意义,好多人第一个会想到的肯定是增加代码的可读性,降低代码的维护成本,对,这是最重要的一个原因了。试想一下,如果整篇代码都是abc,cde,efg这样的变量,那么是不是挺令人崩溃的,这样的代码只有机器能看懂了,没有人类是愿意看到的。如果你的变量命名非常规范的话,在平时工作中大家也愿意与你一起工作,命名不规范的人是不受人欢迎的。
关于现实情况中大家都是怎么为变量命名,我大概调查了一下,主要有这样两种情况,就是纠结型的和果断型的。
纠结型
面对要命名的变量时,拿不定主意,不知道给起什么名字好,半天想不出来,通过查字典最终定下来,但是变量实在太多了,到最后发现实在没有精力给每一个变量命名了,然后就放弃命名了,开始随心所欲了,好家伙,这就为以后留下来技术债了,以后肯定是要慢慢还回来的。
果断型
有一种果断型是知道自己英文不好,也没耐心为每一个变量命名,与其花时间去研究怎么命名,还不如果断一点,直接随意去命名好了,这样开发效率还高一点,这是这一类人的命名价值观
还有一类果断型的人是因为他们英文水平比较高,每一个含义都能精确的用单词去表达意思,因此他们为变量命名时效率是相当高的,不会在这上面过多的纠结,基本上不会浪费多少时间,这类人还是的确挺令人羡慕的。
大家都已经了解到,为变量命名的目的其实就是能够让人识别,那么为了达到这个目的,如果自己的英文不好的话,可以用汉语的字母命名也是可以的(据我所知,有的公司对这方面没有要求,有的公司是不允许的,这要看具体情况了),如果是用汉语字母去为变量命名的话,最好是小组成员能够统一一下,大家达成共识才行,这样代码能形成一个规范,大家在相互review代码时才会觉得习惯。
如果公司不允许用汉语字母为变量命名的话,大家可以组织一个会议,把公司业务中常用的名词统一用英文给定出来,定义成一个内部的数据字典,然后大家再为变量命名时可以从这个数据字典中去选,以后在开发过程中大家也可以共同去维护扩展这个数据字典,这样的话,小组成员内开发出的代码看上去就非常规范了,每个变量也很容易被内部成员理解,如果英文表达的到位,不但被内部成员理解,新来的成员也很容易理解,代码就相当好维护了。
在开发中,有的程序员写了一个方法,发现自己的方法所做的事情没法用英文给表达出来,为方法命名感觉非常犯愁,这种情况该怎么办呢?
首先我要说的,没有英文表达不了的事情,如果英文都表达不了你做的事情,那么一定不是英文的问题,肯定是你的方法的问题。
我猜你的这个方法肯定是做了一些A事情,然后有做了一些B事情,然后又顺带做了一些C事情,然后再交叉处理一下A事情与D事情,总之,你的这个方法相当复杂, 不是用英文无法表达,而是用几个英文单词无法表达,需要用一篇英文文章去表达,如果是这种情况,那就是你的方法设计的问题了,一个方法不要做的事情太杂,每一个方法一定是专一实现一个功能,然后主方法去调用这些专一方法完成一个综合的事情,这样的话能看清一步步的过程,结构是清晰的,代码的可读性才是高的,方便后期的维护和团队的合作。
其实变量命名没有那么困难,大家要多注重总结,沟通,有了一定的套路后就不再为变量命名纠结了,良好的命名习惯不但不容易欠下技术债,而且对整个团队的合作也是十分有利的,对公司的业务发展也是十分有利的。
大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧!