javascript
JavaScript代码规范(CKJ)
?這是一份為我團隊自制的代碼規范,參照了Javascript的書籍和網上的代碼,總結而成。
1.? 代碼縮進采取四格,不能用tab鍵,只用空格,避免產生不必要的錯誤。在vim中配置如下代碼:
2.? Javascript代碼不應該被包含在HTML文件中,除非這是段特定只屬于此部分的代碼。
變量和標示符:
2. 常量采用慣例全大寫形式,多個單詞用下劃線隔開。如:
MYCARCAR_AND_MODEL3. 能不用就不用全局變量.
?
4. 不建議修改變量保存值的類型,如:
var message = “hi”;message = 100;運算符:
(a>0 && b==1) || (ture || b>1)語句
var message;?
?
?
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. 在注釋之前要用一行空白行。
整數:
?
引用類型:
?
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"}]});?
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/archive/2012/12/17/2822358.html
總結
以上是生活随笔為你收集整理的JavaScript代码规范(CKJ)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xdoj 1243 ckj老师爱数学
- 下一篇: 空格代码JavaScript代码规范(C