javascript 代码规范

以下编码风格来自于《编写可维护的 javascript》一书中,加上个人总结,自代表个人风格,仅供参考。

##缩进
缩进可以采用2格缩进或者4格缩进,具体使用哪个看团队的代码规范和自己的爱好。

##行尾分号
行尾一律加上;分号,除非该行需要折行。

##行的长度
单行不应该超过80个字符,如果超过,应该折行编写。

##折行
当一行长度达到单行最大字符限制时,手动将一行拆成两行。遵守:

  1. 在运算符后换行
  2. 下一行增加两层缩进
1
2
callAFunction(argument1, argument2, argument3, argument4, argument5, argument6,
argument7);

##空行
一段代码的语义和另一段代码不相关,这时就应该使用空格将它们分隔开来。

##命名

  • 常量
    常量使用大写字母和下划线命名。
1
2
var MAX_COUNT = 10;
var URL = 'http://www.google.com/';
  • 普通变量和函数
    遵守驼峰大小写命名法。变量以名词作为前缀,函数以动词作为前缀。
1
2
3
4
5
var myName = 'Tom';

function getName() {
return myName;
}

动词常见约定:
动词常见约定

  • 构造函数
    构造函数首字母应该大写。
1
2
3
4
5
function Person(name) {
this.name = name;
}

var me = Person('Tom');

##基本类型的表示

  • 字符串
    普通字符串采用'单引号包裹,json 对象中的字符串采用双引号包裹。
1
2
3
4
5
6
var name = 'Tom';

var me = {
name: "Tom",
age: 23
}
  • 数字
    书写完整,不要省去整数部分或小数部分,不要使用八进制写法
  • null
    不要使用null来检查是否传入了某个参数;不要用null来检查一个未初始化的变量。
  • undefined
    尽量避免在代码中使用undefined,如果要判断一个变量是否存在可以这样:
1
2
3
if(name === null || typeof(name) === 'undefined') {
// ..
}
  • 对象
    采用对象字面量的方式定义对象:
1
2
3
4
var me = {
name: "Tom",
age: 23
}
  • 数组
    采用数组字面量的方式定义数组:
1
var colors = ['red', 'green', 'blue'];