其实当你看到这篇文章名字的时候就已经知道我要聊的内容是什么了。不要急着离开,来都来了。不妨看看我说的内容你是否认同
标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。
引自百度百科
标识符可以说是我们在编程中使用频率最高的一种符号了。那么问题来了,你对标识符的认知有多少?
规则
做事情是需要遵循规则的,就好比我现在写的文章。大部分的规则参考了阮一峰老师 ”中文技术文档的写作规范“一文中的大部分要求。 不同的编程语言中对于标识符的命名要稍有不同。我们这里聊的是关于 Java 标识符,我将其要求整理如下:
-
标识符由字母、数字、下划线“_”、汉字、美元符号
"$"
组成,第一个字符不能是数字。 -
不能把 Java 关键字和保留字作为标识符。
-
标识符没有长度限制。
-
标识符对大小写敏感。
一些感想
因为近几年工作的缘故,长年累月的接触到一些初学者。他们在初次接触编程或者说 Java 的时候都下意识的想使用中文。那么中文在编程中作为标识符可以还是不可以呢?
答案是肯定的,实际上只要支持unicode编码的编译器一律可以使用中文标识符。但是使用中文会带来以下几个问题
-
在某些特定的环境下会出现意想不到的错误,一旦这种情况出现几乎是不可调的
-
中文的语义太丰富了,容易造成语义不明。咱们天朝的语言可能仅仅因为语气的改变会出现多层含义。例如:我穷。我穷?我穷!
-
编程中的关键字通常是英文的,如果以中文作为标识符,在中英文混编的情况下单就输入法切换一项就会无比蛋疼,何况还有更为脱发的阅读性
综上所述,无论是否是初学者,在编码中尽量使用英文(即使英文水平烂如我),至于使用汉语拼音的写法还是算了吧,隔天的代码你可能都不知道是什么了
结语
标识符这件事情可大可小,但是我还是觉得我们需要重视起来。其实已经有业界大佬为我们做出了表率,做 Java 开发的大部分人都听过或者用过阿里的东西。其实早在2016年阿里就公布了其内部的开发规范手册,我现在使用的 IDEA 中阿里规范插件几乎是我必装的插件。
阿里 Java 开发手册:https://developer.aliyun.com/topic/java2020
地址我直接贴出来了,有兴趣的朋友真心建议去读一读。有人把程序员的编码水平进行了划分
-
不写注释,命名随意。最终代码成了传说中的”屎山代码“
-
写注释,命名稍显随意。我自己现在就处于这一梯队
-
不写注释,命名良好,能做到见名知意