MozTW 討論區
https://forum.moztw.org/

谈谈你们的xul javascript 的 coding style/naming convention
https://forum.moztw.org/viewtopic.php?f=18&t=16496
1 頁 (共 1 頁)

發表人:  bluelarva [ 2006-11-17, 19:20 ]
文章主題 :  谈谈你们的xul javascript 的 coding style/naming convention

http://www.mozilla.org/hacking/mozilla-style-guide.html
代碼:
    * k=constant (e.g. kNC_child)
    * g=global (e.g. gPrefService)
    * m=member (e.g. mLength)
    * a=argument (e.g. aCount)
    * s=static member (e.g. sPrefChecked)

有時候我在其它的js文件裏看到
代碼:
const PERM_IRWXU = 00700;  /* read, write, execute/search by owner */
const PERM_IRUSR = 00400;  /* read permission, owner */
const PERM_IWUSR = 00200;  /* write permission, owner */

代碼:
const kReadBit = 5;


同在一個js 里.

在c programming, constant 是用大寫表示.

----------------------------------------------------

代碼:
var filePicker = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);


代碼:
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);


----------------------------------------------------

代碼:
var tree = document.getElementById('tree');


代碼:
var oTree = document.getElementById('tree');


-----------------------------------------------------

代碼:
var cellSize = document.createElement("treecell");


代碼:
var sizeCell = document.createElement("treecell");


代碼:
var size = document.createElement("treecell");


---------------------------------------------------

boolean
代碼:
var bDuplicate = true;


代碼:
var Duplicate = true;

發表人:  kourge [ 2006-11-19, 11:20 ]
文章主題 : 

引言回覆:
代碼:
const PERM_IRWXU = 00700;  /* read, write, execute/search by owner */
const PERM_IRUSR = 00400;  /* read permission, owner */
const PERM_IWUSR = 00200;  /* write permission, owner */

代碼:
const kReadBit = 5;


同在一個js 里.

在c programming, constant 是用大寫表示.

用全大寫是比較好的做法,這樣你用的時候才知道是常數還是變數。

引言回覆:
代碼:
var filePicker = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);


代碼:
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);


filePicker 比較有意義,所以最好用 filePicker。反正到時候一打包成 XPI 就被壓縮得很小了。

引言回覆:
代碼:
var tree = document.getElementById('tree');


代碼:
var oTree = document.getElementById('tree');


我覺得 tree 比較好,像 oTree 這種匈牙利命名法通常是寫 VB 的時候才會用...
況且,JavaScript 是 duck-typing 的語言,變數的資料類型隨時可以轉換,所以命名成 oTree 沒有意義。

引言回覆:
代碼:
var cellSize = document.createElement("treecell");


代碼:
var sizeCell = document.createElement("treecell");


代碼:
var size = document.createElement("treecell");


sizeCell 除非改成 sizeOfCell,否則沒意義。cellSize 有意義,而 size,假如程式中沒有其他跟 size 有關的東西,就不會有混淆的情況。

引言回覆:
boolean
代碼:
var bDuplicate = true;


代碼:
var Duplicate = true;

這兩個其實我認為都不好...
Duplicate 有用到大寫,打破單獨單字的規律。
bDuplicate 跟 oTree 一樣,沒有必要。
在這裡最好的名稱是 isDuplicate 或 isDuplicated (要看這個變數的功能是什麼),這樣套到 if 裡面可以一目了然:
代碼:
if (isDuplicated) {/*...*/}

發表人:  Milx [ 2006-11-19, 12:46 ]
文章主題 : 

參考
http://developer.mozilla.org/en/docs/Ja ... tyle_guide

發表人:  kourge [ 2006-11-20, 17:58 ]
文章主題 : 

Milx 寫:

這個 guide 還不錯。(不過...網路上有 90% 的 JS 都沒有照這樣寫...囧rz)

發表人:  Milx [ 2006-11-21, 02:22 ]
文章主題 : 

kourge 寫:
這個 guide 還不錯。(不過...網路上有 90% 的 JS 都沒有照這樣寫...囧rz)


So What ==

發表人:  kourge [ 2006-11-22, 14:08 ]
文章主題 : 

Milx 寫:
kourge 寫:
這個 guide 還不錯。(不過...網路上有 90% 的 JS 都沒有照這樣寫...囧rz)


So What ==

This results in:
1. Spaghetti code.
2. Performance decreased to the extent that your browser's crashing.

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/