一开始学习编程,就会遇到命名的问题:项目/文件需要命名、变量需要命名、函数需要命名、类需要命名……但我发现,很多同学(包括一些老师),都轻视了命名的重要性。清晰良好的命名,对于代码的可维护性是非常非常重要的!
举个最简单的例子,这是良好的命名:
飞哥情人节吃了辣子鸡
对应的代码就是:
飞哥.吃(辣子鸡, 情人节)
如果是糟糕的命名:
kgABCcy了i
你会觉得这样的语句很夸张,但是我敢保证,你一定有机会写出或者看到它对应的代码:
kg.ABC(i, cy)
PS:要不这样,以后我发现哪个同学胡乱命名,我就让他把代码翻译成汉语抄上一百遍啊一百遍!
严格来讲,关于命名,有:
所以同学们总是不把命名规范当一回事。矫枉必须过正,所以接下来的整个学习过程中,我们不再区分规则和规范,同学们把规范也当做规则执行吧!
以下内容除特别说明,适用于我们将要学习的全部语言:
这就是有意义:warning、center、register、user……
这就是没意义:iii、abc、fg……
命名总是使用英语。
特别强调:对我们很多同学来说,使用英语命名确实很难。但即使再难也一定坚持!从学习编程的第一天,就要养成习惯,锻炼自己命名的能力。规范恰当的命名,是一个职业(professional)程序员的基本技能和起码的职业素养。Always be professional.
绝对不要使用拼音!
实在不行用汉字都不要用拼音,用汉字你至少中国人读得懂,而且外国人知道他肯定读不懂;用拼音中国人和外国人一起懵逼:yonghu是个什么鬼?更不要说还有人用拼音简写了……
(╯‵□′)╯︵┻━┻
在编程语言中,会有一些编程语言预先定义的、就语法而言有特定含义的单词,比如:public、SELECT、var……等。
命名不得使用这些关键字,否则会出现编译错误(强类型语言,如C#)或者一些稀奇古怪乱七八糟的问题(弱类型语言,如JavaScript)。
即使是HTML和CSS,都应该避免使用(类似)“关键字”,比如
.html{ } #style{ }
都让人莫名其妙。
不要使用数字开头。
你可能说,那“17bang”咋办?咳咳,可以用yqbang代替。飞哥也不想17bang.ren这个域名啊,好域名早就被抢走了,o(╥﹏╥)o
命名中不要出现特殊字符,比如空格、圆点(.)、@、#……等。
唯二可以使用的特殊字符:
有些语言,不区分大小写,即认为17bang和17BANG是相同的,这被称之为大小写不敏感;
有些语言,要区分大小写,即认为17bang和17BANG是不同的,这被称之为大小写敏感。
我们统一要求,任何时候,都自觉大小写敏感!!!
在源栈学习的过程中,我们统一使用以下命名法:
也被称之为大驼峰命名法,其特点是:所有单词首字母大写,其他字母小写,比如:Register、UserName、SendEmailTo……,用于:
也被称之为小驼峰命名法,它和大驼峰命名法的唯一区别在于:第一个单词的首字母小写,比如:register、userName、sendEmailTo……,用于:
在帕斯卡命名法的基础上加类型的前缀,比如:strUserName和intUserName(str和int表示变量类型),仅在需要类型转换,且没有其他办法区分时使用
这个命名法是飞哥自己取的名字,^_^
就是参照bootstrap,用短横线(-)分隔各个单词,比如:user-name、send-email-to,仅用于HTML和CSS。
多快好省!前端后端,线上线下,名师精讲
更多了解 加: