烂代码吐槽汇 | 奇葩命名

代码首先是给人看的,其次才是给机器看的。 烂代码特征:可读性差、逻辑混乱、性能低下。

1.奇葩项目(模块)名

项目(模块)名称使用汉语拼音、英汉双拼、超长的字母集。

项目(模块)名称应该使用言简意赅的英文单词或短语,可代表项目(模块)意图即可。

2.奇葩包名

包名称使用毫无意义的单个字母或另类的单词。

正常的包结构名称应该以官网或产品域名的倒序为基础包,然后细分service、dao等。基本上常用的包名也就那几个,没必要为了体现出自己的不同而新创包名,如果真的有必要建新包名,应该使用名词性质的单词。

3.奇葩接口名

接口名命名规则不统一,千奇百怪,使用非名词性单词。

一般情况下,根据团队编码习惯,接口名称规则需要统一。最好不要使用以字母I为前缀或以interface为后缀,你不觉得这样很多此一举吗?名称命名需要使用名词性的单词或短语。

4.奇葩类名和对象名

类名或对象名使用动词,使用非名词或非名词短语。

类名和对象名是一个标识,所以不要使用动词,应该使用名词或名词性的短语,而且最好不要使用以Data和Info为后缀,这样的后缀给人感觉很累赘。

5.奇葩属性名

类的属性名为了和表的字段名称一致,名称中的单词使用下划线连接;属性名使用非驼峰式命名;使用无意义的字母或单词缩写。

类的属性名应该使用有意义的名词或名词性的短语,名称的首字母要小写,名称中包含多个单词的需要使用驼峰式的命名规则,一定不要使用无明确意义的字母或单词缩写。如果为了表达多个数据的集合,避免使用List结尾,可以使用对应单词的复数形式,如students,而不是studentList。推荐使用一些可读的出来或可搜索到的单词或短语,易于理解。对于一些boolean类型的属性名,推荐在名称前加上is前缀,这样容易理解其值的含义。

6.奇葩方法名

方法名以非动词开头;方法名不能表达出方法体的意图;方法名使用以get为前缀;方法名使用单词或短语的字母缩写;方法名不遵循驼峰式命名规则。

方法名应该以动词开头,使用动词短语;动词短语应该可以表达出本方法体的意图,做到可以根据方法名看出方法做了什么;除了属性的getter方法,避免使用以get作为方法名的前缀,因为get无法说清方法的意图,有偷懒的嫌疑,而且这样命名说明写代码的人真的很low;最不能忍的是方法名使用单词的字母缩写,谁能知道这是干啥的,就是代码作者自己,一段时间后也不能保证记得这是作什么的;方法名应该遵循首字母小写的驼峰式命名规则;对于返回值类型为布尔值类型的方法,推荐方法名前缀使用is、has、can。

7.奇葩变量名

变量名使用单个字母。

除了用于循环的临时变量名,其它变量都不要使用单个字母命名,且变量名要能表达出其真正意图,遵循驼峰式命名规则。

8.奇葩常量名

常量名使用非大写的单词或短语;常量名中的多个单词间不使用下划线连接。

常量名应该全部使用大写的字母,而且单词与单词间使用下划线连接。对于方法里用于比较或计算的“0”、“1”之类的常量,最好定义成常量,使用常量名标识这些数据的意思,否则谁能理解“0”代表什么,“1”代表什么。

小结

命名可以通过总结的方式,归纳出属于自己的一套命名规则。

原文发布于微信公众号 - JavaQ(Java-Q)

原文发表时间:2017-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

设计模式六大原则(2):里氏替换原则

        肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Ba...

29180
来自专栏Java爬坑系列

【JAVA零基础入门系列】Day4 变量与常量

  这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量。   那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存...

246100
来自专栏轮子工厂

4. C语言 -- 一个由数据类型和取值范围引发的 BUG

之前看到有人留言催更,老夫的心里的竟然有一丝惊喜和兴奋。上周说要改版嘛( 。_ 。) ✎然后我就紧赶慢赶出了这篇稿子,但是由于一些原因,在今天才与大家间面。

13120
来自专栏java一日一条

函数式编程的优与劣

如今函数式编程越来越流行。越来越多的编程语言支持函数式编程风格,人们学习如何使用它们。函数式编程已不像以前那么小众——现在Ruby,Java和JavaScrip...

7820
来自专栏海天一树

小朋友学C语言(8):条件判断

(一)if...else 先动手编写一个程序 #include <stdio.h> int main() { int x = -1; if(x ...

34560
来自专栏java一日一条

函数式编程的优与劣

如今函数式编程越来越流行。越来越多的编程语言支持函数式编程风格,人们学习如何使用它们。函数式编程已不像以前那么小众——现在Ruby,Java和JavaScrip...

8210
来自专栏带你撸出一手好代码

JavaScript对象的呼叫转移

声明:此文以通俗易懂的模式讲解JavaScript语言中call、apply运行原理。 非业内人士或未成年人请点左上角按扭及时离开以避免走火入魔。 事实上类似于...

32960
来自专栏Golang语言社区

第八节 Go语言条件语句

干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前...

9430
来自专栏西枫里博客

Python学习笔记六(格式化字符串)

一周一更的Python学习楞是被我变成了一月一更,这种进度等于是前期白学了,接下来要强迫学习进度了,力争6月底前完成基础部分的学习。今天的主要内容是回顾上次关于...

10620
来自专栏北京马哥教育

Python新手常见错误之默认值设定错误

文章来源 |伯乐在线 云豆贴心提醒,本文阅读时间5分钟,文末有秘密! Python初学者通常会犯一些错误,甚至会因此损失很大的自信心。 不过你不必过多的担...

36160

扫码关注云+社区

领取腾讯云代金券