关于今天要谈的事情,我觉得编辑还是有点兴奋的。 那是关于变量的命名。 这是一个容易引起程序员争论的话题。 怎样命名才能提高可读性、写作性、清晰度?
程序命名经常使用英语单词。 他们被当作变量名时,有小写、大写、字母大写几种情况。 在程序语言中发生这些情况和英语的表达习惯一样。
但是,为了使变量名称表示更多的含义,通常会使用多个单词和符号。 这时,英语表达习惯用空格分隔单词就行不通了。 用空格分隔的使用方法会给编程带来麻烦。 然后,聪明的程序员制定了以下命名法。
蛇壳(snake case )命名法
驼峰命名法(camel case ) ) )。
匈牙利命名法(HN case )。
帕斯卡命名法(帕斯卡定理)
脊柱命名法(spinal case ) )。
自由命名法(studly xddjd ) ) ) ) )。
驼峰命名法
这些命名法都是为了克服单词间的空白,连接不同的单词,最终达到制作新“单词”的效果。
观察以下的思维导图,可以直观地理解。
讲道理,学编程刚接触命名法的时候,看到了这个有点睿智的称呼,享受了一会儿。 言归正传,按照参与人数和知名度进行排名,现在无疑排在前两位的是驼背命名法和蛇形命名法。
驼峰和蛇形的优缺点
现在让我们回到主题上来。 Python为什么推荐蛇行命名法?
首先,我们来比较一下排名前两位的驼峰命名法和蛇壳命名法的优缺点。
可读性)蛇行命名法通过下划线扩大词间,便于阅读; 驼峰命名法变量名称紧凑,节约列宽;
书写方便性:驼峰命名法区分大小写,不引入多余的标识符; 蛇行命名法统一小写,输入比较方便.
明义性:对于HTTP、RGB、DNS等缩写化的专有名词,一般都用大写字母表示,但严格按照这两种命名法,必须只保留首字母的大写字母或小写字母,在本来的意义上造成了一些“破坏” 如果保留大写字母,IDE可能无法正确识别,并会显示波浪提示。
由此可见,驼峰和斯内普各有优缺点,不存在这一方的压倒性优势。 这里需要注意的是,Python也建议命名驼峰表达式,但在类名、Type变量、异常exception名称等情况下。 建议在软件包名称、模块名称、方法名称、常规变量名称等情况下命名蛇案例。
Python 为什么要推荐蛇形命名法?
认真解释这个原因,那只是历史原因。 蛇壳的命名始于1960年,但当时还没有特定的名称。 之后,Python参考了c语言,命名为“lower_case_with_underscores”,也就是带下划线的小写字母。直到21世纪初的几年前,Intel和Ruby社区开始使用“snake_case”即蛇壳的名称。 现在有几个场合推荐使用蛇形命名法的编程语言,但Python是其中最早运行和使用的语言之一。
另一个重要的原因是Python对下划线“_”的独特喜好。
在项目代码中,_xx、__xx、xx_、__xx__等写法随处可见,也有作为变量零星带有下划线的特殊情况。 这样,下划线作为单词之间的联系,正是这个传统习惯的一部分。
最后的解释是,因为Python是蟒蛇。 当然是蛇的名字……
关于这三个说明,你们有什么感想? 关于蛇行命名法,大家是喜欢还是讨厌?