java認證輔導:使用Java命名慣例

字號:

什么是命名慣例?
    命名慣例是對標識符命名的一種規(guī)范,例如,類,數(shù)據(jù)包,變量,方法等。
    為什么要使用命名慣例?
    不同的Java程序員有不同的編程喜好和方法。通過使用標準的Java命名慣例,他們的編寫的代碼就更容易讓人看懂。Java代碼的可讀性之所以重要是因為容易讀懂的代碼會為我們節(jié)約理解的時間,而這些節(jié)約出來的時間可以用來做更多的修復工作。
    為了說明這一點,很有必要告訴大家大多數(shù)的軟件公司都有一個用于概述命名慣例的文件,他們希望程序員可以遵守這樣的慣例。一名新的程序員如果熟悉了這些慣例,就能夠很好地理解其他程序員編寫的代碼,即便這種代碼很可能是已經(jīng)離職多年的程序員編寫的他們也不用擔心。
    為識別符挑選一個名稱
    在為標識符選擇名稱的時候要確保名字是有效性。例如,如果你的程序是處理客戶帳戶名稱的,那么要選擇那些有意義的名稱,如,customerName,accountDetails等。不要擔心名稱的長度。雖然短一點的名稱很方便,但是意義卻很含糊,而且較長的名稱所包含的標識相對于較短的名稱更完整。
    關于字母寫法
    使用正確的字母寫法也是命名慣例中很重要的一項規(guī)定:
    l Lowercase 意味著所有的字母的書寫都不包含大寫字母(例:while, if, mypackage)。
    l Uppercase 所有字母都大寫。在名稱中如果出現(xiàn)兩個或兩個以上的單詞,則用下劃線將其分隔。(例:MAX_HOURS, FIRST_DAY_OF_WEEK)
    l CamelCase 俗稱駝峰格式,即每個單詞的首字母都用大寫,其他字母均以小寫形式出現(xiàn)。(例:CamelCase,CustomerAccount,PlayingCard)
    l Mixed case 與駝峰格式類似,不過名稱中第一個單詞的首字母不用大寫。(例:hasChildren,customerFirstName,customerLastName)
    標準的Java命名慣例
    以下的目錄就為每種標識符類型概述了標準的Java命名慣例:Packages: 名稱應該用小寫字母。那些很小的數(shù)據(jù)包可以使用簡單的名稱:
    package pokeranalyzer
    package mycalculator
    在有些軟件公司和大型項目中數(shù)據(jù)包可以導入到其他類中,則名稱會被分離開來,通常這種情況發(fā)生在某種特性分離出來前夕:
    package com.mycompany.utilities
    package org.bobscompany.application.userinterface
    Classes:名稱需用駝峰格式。盡量使用名詞因為一個類通常代表了一個實物:
    class Customer
    class Account
    Interfaces:名稱需使用駝峰格式。它們傾向于擁有一個表述操作的名稱:
    interface Comparable
    interface Enumerable
    注意一些程序員喜歡通過在名稱前用“I”來區(qū)分界面:
    interface IComparable
    interface IEnumerable
    Methods:名稱需使用混合體。使用動詞來表述方法:
    void calculateTax()
    string getSurname()
    Variables:名稱需使用混合體書寫。改名稱要體現(xiàn)變量所表示的值:
    string firstName
    int orderNumber
    只有在變量是短名稱的時候才使用短名稱,如在循環(huán)中:
    for (int i=0; i<20;i++)
    {
    //i only lives in here
    }
    Constants:名稱需使用大寫字母。
    static final int DEFAULT_WIDTH
    static final int MAX_HEIGHT