- 不一樣的代碼段採用不一樣的命名長度。一般來講,循環計數器(loop counters)採用1位的單字符來命名,循環判斷變量(condition/loop variables)採用1個單詞來命名,方法採用1-2個單詞命名,類採用2-3個單詞命名,全局變量採用3-4個單詞命名。
- 對變量採用具體的命名(specific names)方式,」value」, 「equals」, 「data」在任何狀況下都不是一種有效的命名方式。
- 採用有意義的命名(meaningful names)。變量的名字必須準確反映它的含義和內容。
- 不要用 o_, obj_, m_ 等前綴命名。變量不須要前綴標籤來表示本身是一個變量。
- 遵循公司的變量命名規則,在項目中堅持使用同一種變量命名方式。例如txtUserName, lblUserName, cmbSchoolType等,不然會對可讀性形成影響,並且會令查找/替換工具(find/replace tools)不可用。
- 遵循當前語言的變量命名規則,不要不統一(inconsistently)地使用大/小寫字母。例如:userName, UserName, USER_NAME, m_userName, username, …。
以Java爲例:
* 類名使用駝峯命名法(Camel Case):VelocityResponseWriter
* 包名使用小寫:com.company.project.ui
* 變量使用首字母小寫的駝峯命名法(Mixed Case):studentName
* 常量使用大寫:MAX_PARAMETER_COUNT = 100
* 枚舉類(enum class)採用駝峯命名法,枚舉值(enum values)採用大寫。
* 除了常量和枚舉值之外,不要使用下劃線’_’
- 在同一個類不一樣的場景(contexts)中不要複用變量名。例如在方法、初始化方法和類中。這樣作能夠提升可讀性和可維護性。
- 不要對不一樣使用目的的變量使用同一個變量名,而是賦予它們不一樣的名字。這一樣對保持可讀性和可維護性很重要。
- 變量名不要使用非ASCII字符(non-ASCII chars)。這樣作可能會在跨平臺使用時產生問題。
- 不要使用過長的變量名(例如50個字符)。過長的變量名會致使代碼醜陋(ugly)和難以閱讀(hard-to-read),還可能由於字符限制在某些編譯器上存在兼容性問題。
- 僅使用一種天然語言(natural language)來命名變量。例如,同時使用德語和英語來命名變量會致使(理解)不一致和下降可讀性。
- 使用有意義的方法名。方法名必須準確表達該方法的行爲,在多數狀況下以動詞(verb)開頭。(例如:createPasswordHash)
- 遵循公司的方法命名規則,在項目中堅持使用同一種方法命名方式。例如 getTxtUserName(), getLblUserName(), isStudentApproved(),不然會對可讀性形成影響,並且會令查找/替換工具不可用。
- 遵循當前語言的變量命名規則,不要不統一地使用大/小寫字母。例如:getUserName, GetUserName, getusername, …。
以Java爲例:
* 方法使用首字母小寫的駝峯命名法:getStudentSchoolType
* 方法參數使用首字母小寫的駝峯命名法:setSchoolName(String schoolName)
- 使用有意義的方法參數命名,這樣作能夠在沒有文檔的狀況下儘可能作到「自解釋(documentate itself)」
本文摘自:http://codebuild.blogspot.com/2012/02/15-best-practices-of-variable-method.htmlhtml