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/ |