MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-08-22, 04:04

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 6 篇文章 ] 
發表人 內容
文章發表於 : 2006-11-17, 19:20 
離線

註冊時間: 2006-11-08, 13:06
文章: 44
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;


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-11-19, 11:20 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
引言回覆:
代碼:
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) {/*...*/}

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-11-19, 12:46 
離線

註冊時間: 2005-08-29, 15:40
文章: 236
參考
http://developer.mozilla.org/en/docs/Ja ... tyle_guide


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1) Gecko/20061010 Firefox/2.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-11-20, 17:58 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
Milx 寫:

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

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-11-21, 02:22 
離線

註冊時間: 2005-08-29, 15:40
文章: 236
kourge 寫:
這個 guide 還不錯。(不過...網路上有 90% 的 JS 都沒有照這樣寫...囧rz)


So What ==


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1) Gecko/20061010 Firefox/2.0
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2006-11-22, 14:08 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
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.

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0
 個人資料  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 6 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 4 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群