JavaScript代码规范(CKJ)

 这是一份为我团队自制的代码规范,参照了Javascript的书籍和网上的代码,总结而成。

  1.  代码缩进采取四格,不能用tab键,只用空格,避免产生不必要的错误。在vim中配置如下代码:

  2.  Javascript代码不应该被包含在HTML文件中,除非这是段特定只属于此部分的代码。

变量和标示符:

  1. Javascript区分大小写,所以按照惯例标示符采用驼峰大小写格式,也就是第一个字母小写,剩下有意义的单词大写,不要再命名中使用“$”和“\”。如:
firstSecond

myCar

  2. 常量采用惯例全大写形式,多个单词用下划线隔开。如:

MYCAR

CAR_AND_MODEL

  3. 能不用就不用全局变量.

  4. 不建议修改变量保存值的类型,如:

var message = “hi”;

message = 100;
  1. 变量赋值时,“=“两边要加一个空格。如:
var message = “HelloWorld”
  1. 保存对象没有真正保存对象时,要明确地让该变量保存null值。
  2. 大量的逻辑出现时,注意给用括号分隔开。如:

运算符:

(a>0 && b==1) || (ture || b>1)
  1. 逻辑与/或:使用时,两个操作数与“&&/||“之间都要有一个空格。如:
var result = true && false;
  1. 加,减、乘、除、求模、小于、大于、等于、小于等于、大于等于号等所有二元运算符两旁要用一个空格隔开,如:var result = 34 * 56;
  2. 条件操作符:每个符号前后要加一个空格。如:a = 0 ? a = 1 : a = 0;
  3. 复合赋值运算符两旁要有一个空格。如: a *= 2;
  4. 要使用严格的条件运算符,如: ===代替==、!==代替!=、
  5. 每条语句后面要加“;”作为结束标志,有利于避免压缩错误和提高性能。如:

语句

var message;
  1. 避免每行超过80个字符。超过的考虑折行显示。

2. 代码块要以左花括号开头,右花括号结束,即使可以单行写执行代码也要用“{}”。如:

if (test){

  alert(test);

}

3. 如上代码,if 语句书写时,if后要有一个空格与括号隔开,括号内的参数与括号不加空格,括号之后紧接花括号,有else时,if的括号后要空一格紧接花括号, else空一格紧接上一个花括号,其后空一格接下一个花括号,除了if,while,do-while,switch,for亦是如此。如:

if (a = 0) {

    a = 1;

} else {

    a = 0;

}

 

while (i == 0) {

    i++;

}

 

do {

    i--;

} while (i > 0);

 

for (i = 0; i >= 5; i++ ){

}

  4. 当if—else 执行语句只有一条时,请用成“XX?XX:XX;“的问号运算符。

if (a = 0) {

    a = 1;

} else {

    a = 0;

}

改写成:

a = 0 ? a = 1 : a = 0;

  5. 如果使用label语句时,一定要用描述性的标签,同时不要嵌套过多的循环。

  6. 不要使用 with, void , eval。

注释:

每行注释的注释符后要加一个空格后才写注解,如:

// My name is CKJ.

1. 单行注释:用“//”标注,注意避免无意义的注释。

2. 多行注释:用/**/嵌套,但是每一行的前面要有“*”号,且星号都要对齐,如:

/*

* This is a comment

*/

3. 脚本文件头注释规范,如下:

/**

* @fileOverview 脚本文件描述

* @author<开发者>,…

* @version <svn version>

* @updateDate <svn update date>

*/

4. 编写只用于极少数使用的变量时,在行尾附上注释。

5. 在较大范围内使用的变量,在其作用域的开头附上注释。

6. 在注释之前要用一行空白行。

整数:

  1. 字符串转化为整数,尽量不要用number而用parseInt函数。
  2. 使用parseInt()时,必须为第二个参数指定基数。如:
  var num1 = pareseInt(“2”, 2);

引用类型:

  1. 声明object类时,不要省略括号。如:不是var a = new Object 而是 var a = new Object();

  2. hash中的key与中左右大括号无空格,key:value的冒号之间也无空格。只有“,”之后要加一个空格。如:

 {firstname:"Kejia", lastname:"Cai"},

  3.访问属性时,采用“[]”的方括号表示法的访问方式访问。如:

  man[firstname]

  4. Key可以是字符串,如:

man[“first name”]

  5. 静态类属性全部使用大写字母。如:

Ext.MessageBox.YES = “Yes”;

  6. 哈希的value如果是字符串,都采用单引号表示。如: 

region: ‘center’;

  7. 数组有很多方法,可以巧妙运用如:

  pop(), push(), shift(), unshift(), concate(),

  reverse(), sort(), slice(), indexOf(), lastIndexOf(),

  every(), filter(), forEach(), map(), some(),

函数:

View Code
Ext.create('Ext.data.Store', {

    storeId:'employeeStore',

    fields:['firstname', 'lastname', 'seniority', 'dep', 'hired'],

    data:[

        {firstname:"Michael", lastname:"Scott"},

        {firstname:"Dwight", lastname:"Schrute"},

        {firstname:"Jim", lastname:"Halpert"},

        {firstname:"Kevin", lastname:"Malone"},

        {firstname:"Angela", lastname:"Martin"}

    ]

});
  1. 函数的命名必须为动词或动词短语。如:
create();

deleteUser();

  2. 函数的括号与函数名间不要空格,参数与左括号和右括号间不要空格,每个参数用逗号隔开,逗号之后要加一个空格。

  3. 参数中有hash或数组:

(1).当数组或hash只有一层时,直接独行显示。如:

{firstname:"Kejia", lastname:"Cai"},

(2).当数组或hash中有嵌套时,采用Allmans风格,即左右大括号/中括号独占一行(并不是单独一个符号一行,而是与匹配的扩号和其中的内容分开,不再同一行)。如:

data:[

        {firstname:"Michael", lastname:"Scott"},

        {firstname:"Dwight", lastname:"Schrute"},

        {firstname:"Jim", lastname:"Halpert"},

        {firstname:"Kevin", lastname:"Malone"},

        {firstname:"Angela", lastname:"Martin"}

    ]

  4. 函数中传入哈希时,一定要用Allmans风格,如:

Ext.create(‘Ext.container.Viewport’, {

layout: ‘border’,

items: []

});

  5. 函数之间要用一行空白行。

几种EXT的控件简写格式:

名称

Ext控件

简称

按钮

Button

btn

窗口

Window

win

表格

GridPanel

grid

数据存储仓库

Store

store

数据列

ColumnModel

cm

数据选择模式

CheckboxSelectionModel

sm

表格底部工具栏

PagingToolbar

paging

TreePanel

tree

工具栏

Toolbar

tbar

表单

FormPanel

form

复选框

Checkbox

Chk

下拉列表框

ComboBox

cbo

文本标签

Label

Lbl

数字文本框

NumberField

Numfield

单选按钮

Radio

Radio

文本域

TextArea

txtarea

文本框

TextField

txt

原文地址:https://www.cnblogs.com/Caikejia/p/2822358.html