《编写可维护的JavaScript》——JavaScript编码规范(二)
昨天是我偶像生日,现在整个人都还好兴奋啊O(∩_∩)O~ 闲话少说,让我先发篇随笔留念一下^_^
////////////////////////////////正文分割线//////////////////////////////////////
命名
只要写代码,都会涉及变量和函数,因此变量和函数命名对增强代码可读性至关重要。JavaScript语言的核心ECMAScript,即是遵照了驼峰式大小写(Camel case)命名法。Camel case在这里被作者用来特指“小驼峰式大小写”(即首字母小写)命名法,Pascal case则特指“大驼峰式大小写”(即首字母大写)命名法。
小驼峰式大小写命名法是由小写字母开始的,后续每个单词首字母大写,比如:var thisIsMyName;
变量和函数
变量名应当总是遵循驼峰大小写命名法,并且命名前缀应当是名词。
而函数名前缀应当是动词,这样就可以让变量和函数区分开来。
//好的写法 var count = 10; var myName = "Nicholas"; var found = true; //不好的写法:变量看起来像函数 var getCount = 10; var isFound = true; //好的写法 function getName(){ return myName; } //不好的写法:函数看起来像变量 function theName(){ return myName; }
通常来讲,命名长度应该尽可能短,并抓住要点。尽量在变量名中体现出值得数据类型。比如,命名count,length和size表明数据类型是数字,而命名name,title和message表明数据类型是字符串。但用单个字符命名的变量诸如i、j和k通常在循环中使用。使用这些能够体现出数据类型的命名,可以让你的代码容易被别人和自己读懂。
要避免使用没有意义的命名。那些诸如foo,bar和tmp之类的命名也应当避免,当然开发者工具箱里还有很多这样可以随拿随用的名字,但不要让这些命名承载其他的附加含义。对于其他开发者来说,如果没有看过上下文,是无法理解这些变量的用处的。
对于函数和方法命名来说,第一个单词应该是动词。这里有一些使用动词常见的约定。
动 词 | 含 义 |
can | 函数返回一个布尔值 |
has | 函数返回一个布尔值 |
is | 函数返回一个布尔值 |
get | 函数返回一个非布尔值 |
set | 函数用来保存一个值 |
尽管这些函数命名规则没有归纳入当下流行的编程风格中,但在很多流行的库中,JavaScript开发者会发现不少这种“伪标准”。
jQuery显然并没有遵循这种函数命名约定,一部分原因在于jQuery中方法的使用方式,很多方法同时用作getter和setter。比如,$("body").attr("class")可以取到class属性的值。尽管如此,我们还是推荐使用动词作为函数名前缀。
常量
在ECMAScript 6 之前,JavaScript中并没有真正的常量的概念。然而,这并不能阻止开发者将变量用作常量。为了区分普通的变量和常量,一种通用的命名约定应运而生。这个约定源自于C语言,它使用大写字母和下划线来命名,下划线用以分隔单词,比如:
var MAX_COUNT = 10;
var URL = "http://www.nczonline.net/";
需要注意的是,这里仅仅是应用了不同命名约定的变量而已。
构造函数
在JavaScript中,构造函数只不过是前面冠以new运算符的函数,用来创建对象。
构造函数的命名遵循大驼峰命名法。这样做可以将构造函数从变量和普通函数中区分出来。构造函数的命名也常常是名词,因为它们是用来创建某个类型的实例的。
<!--
作者:纤锐
出处:http://www.cnblogs.com/beginner2014
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。谢谢合作。
-->