首页 - 我们的头条 - 喷火龙,fps,逆天仙尊-隐私位置,内行教你如何走向成功,打下职业发展基础

喷火龙,fps,逆天仙尊-隐私位置,内行教你如何走向成功,打下职业发展基础

发布时间:2019-07-12  分类:我们的头条  作者:admin  浏览:291

上一篇变量名的注意事项中,咱们给出了一些变量起名的注意事项,下面咱们再给出一些特定类型的变量的一些命名规矩,为咱们供给一些参阅。

循环下标

关于常见的状况,命名为i,j,k都是咱们约定俗成的,也就不多说了。

假如要在循环外运用该变量,那么就一定要命名成更有含义的姓名,比方要累加一个数字列表的总数,xxxSum或许就能够:

xxxSum = 0;
for (i = 0; i < xxxArray.length; i++){
balabalaba…
xxxSum += xxxArray[i];
}

假如不是简略的循环,比方循环嵌套,最好就别再用ijk来命名了,因为那样或许会导致许多问题,一方面阅读者了解起来会有妨碍,另一方面还或许会不经意间写错/写反,最终调试起来非常费事。比方处理表明表格的二维数组,用table[colIndex][rowIndex],就比table[i][j]更好了解。

暂时变量

暂时变量常用来存储处理进程的一些中心成果,常常会被起名为temp,a,b,c之类的毫无含义的姓名。实际上,咱们函数的大部分变量都是暂时变量,可是大部分变量都会被咱们认真地对待,起个好姓名;仅仅还有一些咱们没搞清该起个什么姓名时,才会呈现temp之类比较随意的姓名。这个时分,咱们应该研讨为什么这个变量难以命名,是不是规划上呈现了什么问题,或许一些其他原因,而不是直接地随意命名。

而且,当一个变量被这样命名今后,咱们对待它也会变得非常随意,这大大提高了犯错的概率。治大程序若烹小鲜,许多时分bug就藏在这些细节里边。

所以,关于暂时变量,主张不要用这种变量,不必就不存在起名的问题了!

状况/标志变量

这类变量表达咱们的程序其时状况,最常见的变量名或许便是flag了。

可是,起名为flag的符号底子不知道是干啥的,即便起名前面加点前缀,比方finishFlag,咱们猜想它或许是表明完毕状况的,但起名为finish都比后边加个flag更好,因为finish能够表达变量为true时,阐明已找到,而finishFlag则什么都表达不了。下面便是一些过错演示:

if(flag)
if(finishFlag)

关于被标志变量,更好的处理方式是用常量/枚举来命名对应的各个值,然后用这些值去比较(也便是回绝魔法值),变量名也应该尽量靠近它要表明的内容,比方:

if(finish)
if(canPrint)

不管什么时分,只需咱们需要去猜一段代码或许一个变量表达的是什么的时分,都该重构这段代码,不要惧怕修正,究竟代码是写给人看的,重写花费的价值,远远比下次保护还需要再猜,然后猜错导致问题的价值更低。

布尔变量

许多布尔值用来做标志变量,所以,上一条的也在这儿通用。

当然,因为布尔值得特殊性,它还有一些其他的命名规矩。

首要,应该选用常见的命名,比方success,found,ready等等。

别的,布尔变量的姓名应该是确认的,比方found,它的含义便是现已找到了,没有歧义,可是isFound呢?到底是找到了仍是没找到?你是在问程序,仍是在难为你自己?还有一些不是反诘类型的,比方status,这个姓名也常常被用在布尔值上,但它什么都不能表达,只能告知你这是一个状况变量,他的true和false代表的含义彻底搞不清,或许只要作者其时清楚了(过阵子有或许作者也忘掉了…)。

最终一个,不要在变量前面加否定词,这样简略把自己绕进去的。比方变量名为not_found,代码这样写:

if not not_found:
balabala

这作者或许在写绕口令吧,那是不是还能写一个not_not_found呢?总归,命名要尽量简略明了,让人看一眼就理解是什么,便利别人,更便利自己。究竟,大部分时分咱们写的代码保护者还会是咱们自己,给自己留条后路吧。

常量

常量命名要能表达该常量代表的是什么,比方

PRINT_READY = 0X2F

不要用有迷惑性的姓名,或许仅仅简略的将值翻译一下,比方:

PRINT_STATUS1 = 0X2F
SIXSIXSIX = 666

今日就写到这儿了,欢迎咱们点赞重视!

下一篇
快捷导航
最新发布
标签列表