在给目录、文件命名时,经常会纠结于该用中线“-”还是下划线“_”。日常接触到的各种软件安装包,命名也是五花八门,有使用中线,有使用下划线,还有中线下划线混合着用的,一片混乱。
看用途
我们在命名时引入中线或者下划线符号的目的,是为了作为分隔符使用,提高信息的可读性。在这一点上,中线符号“-”和下划线符号“_”的作用相当,都能很好的分割不同的文字、单词、数字。
看冲突项
中线符号“-”在编程语言中,可以表示减法运算符,这一点容易带来冲突。特别是一串纯数字命名的字符串,如果其某部分用中线符号分割表示,很可能当做算术运算执行了。所以,中线符号“-”在编程领域中是不宜使用的。下划线“_”没有此问题。
看常用习惯
这里的常用习惯,不是指个人的常用习惯,而是指某个领域或某个平台,大部分使用者的使用习惯。比如,在许多编程语言或框架中,常用下划线“_”来给变量、函数或类命名,以提高可读性(当然首字母大写的驼峰法命名法也可以提高可读性)。
综合上述三方面考虑,我认为,类似于在 Linux 中长期实践的那样,当需要给目录、文件(包括各类软件压缩包、exe可执行文件)命名时,使用中线符号“-”进行分割;而当在各种编程代码中,包括各类脚本,给变量、函数或类命名时则使用下划线符号“_”更佳。至于中线符号“-”和下划线符号“_”混合使用,那是一种非常愚蠢的使用方式,只会带来更多的混乱和困惑。
附加:
还经常能看到使用空格“ ”作为分割符来给目录或文件命名的用法,在提高信息可读性和美观方面来讲,空格也不失为一种比较好的分割方式。但是,空格会给 URL 编码、文件传输、命令执行等带来一系列的麻烦和问题。所以,在实际使用时应尽量避免用空格符号“ ”来作为命名分割,它比中线符号“-”和下划线符号“_”任意一种都要差。