識別字(identifier)
3.容易維護
4.容易共享
錯誤範例 :
sdToStockInfoTCPBroadcastingServer
變數的名稱的確叫人一目了然,一看就大概能夠意會它的作用,但是如果用這種命名的方式來寫程式,那速度可就大受影響了。
運用簡稱
名稱最重要的目的,是讓讀者理解。閱讀程式碼時,其實是伴隨著一個context(語境)的。
有了這個語境的輔助,其實有些資訊可以省去,但讀者依然能夠理解。這個語境的道理,其實就跟我們一般生活中的文字書寫或對話是相同的。
就好比,今早你的同事問了你一句:「昨天還好吧?」因為你昨天和他一塊喝酒喝到半夜三更,所以你會知道他在問的,多半是你昨天喝多了酒人有沒有怎樣,或者是回家有沒有被太太責備。你的同事不需要說:「昨天喝了那麼多酒,身體有沒有不舒服或回家有沒有被老婆責備?」之類的話。
每一行程式碼,在程式中也都位在某個context之中。而每個識別字名稱所存活的程式碼範圍,也在位於某個context之中。當我們可以用這個名稱所在的context來做為閱讀的輔助時,那麼名稱本身所需要包含的資訊就可以降低。
public class ApplicationParser
{
private Document buildDocument(String filename)
throws Exception
{
XPathFactory xpf = XPathFactory.newInstance();
XPath xp = xpf.newXPath();
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
return db.parse((File) new File(fileName));
}
}
閱讀到這個函式時,你會因為它們的名稱太短,而無法理解這幾個變數是在做什麼嗎?其實不會,有一個很重要的關鍵,在於這個函式的長度很短,這幾個變數名稱存活的範圍(scope)都很小,而且這個context是確定的,目的就是把fileName所指定的XML檔案建構成一個Document物件。
但倘若你的函式長度很長(長度長的函式是不好的),那麼變數名稱就不見得能夠加以縮短了,因為一旦變數存在的scope變大,變數名稱所需要包含的資訊量也必須提高。你可以試想,某一個以短名形式定義的變數,它被定義的地點是在你所閱讀的程式碼的一百行以前,當你在一百行之後,再次讀到一個很短、又沒有太多意義的名稱時,你能回想起它實際的作用嗎?恐怕不太容易。
範圍的大小,影響命名的講究程度
參考:
http://www.ithome.com.tw/itadm/article.php?c=68698
1.程式碼的可讀性
2.程式的自我解釋能力3.容易維護
4.容易共享
錯誤範例 :
sdToStockInfoTCPBroadcastingServer
變數的名稱的確叫人一目了然,一看就大概能夠意會它的作用,但是如果用這種命名的方式來寫程式,那速度可就大受影響了。
運用簡稱
名稱最重要的目的,是讓讀者理解。閱讀程式碼時,其實是伴隨著一個context(語境)的。
有了這個語境的輔助,其實有些資訊可以省去,但讀者依然能夠理解。這個語境的道理,其實就跟我們一般生活中的文字書寫或對話是相同的。
就好比,今早你的同事問了你一句:「昨天還好吧?」因為你昨天和他一塊喝酒喝到半夜三更,所以你會知道他在問的,多半是你昨天喝多了酒人有沒有怎樣,或者是回家有沒有被太太責備。你的同事不需要說:「昨天喝了那麼多酒,身體有沒有不舒服或回家有沒有被老婆責備?」之類的話。
每一行程式碼,在程式中也都位在某個context之中。而每個識別字名稱所存活的程式碼範圍,也在位於某個context之中。當我們可以用這個名稱所在的context來做為閱讀的輔助時,那麼名稱本身所需要包含的資訊就可以降低。
public class ApplicationParser
{
private Document buildDocument(String filename)
throws Exception
{
XPathFactory xpf = XPathFactory.newInstance();
XPath xp = xpf.newXPath();
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
return db.parse((File) new File(fileName));
}
}
閱讀到這個函式時,你會因為它們的名稱太短,而無法理解這幾個變數是在做什麼嗎?其實不會,有一個很重要的關鍵,在於這個函式的長度很短,這幾個變數名稱存活的範圍(scope)都很小,而且這個context是確定的,目的就是把fileName所指定的XML檔案建構成一個Document物件。
但倘若你的函式長度很長(長度長的函式是不好的),那麼變數名稱就不見得能夠加以縮短了,因為一旦變數存在的scope變大,變數名稱所需要包含的資訊量也必須提高。你可以試想,某一個以短名形式定義的變數,它被定義的地點是在你所閱讀的程式碼的一百行以前,當你在一百行之後,再次讀到一個很短、又沒有太多意義的名稱時,你能回想起它實際的作用嗎?恐怕不太容易。
範圍的大小,影響命名的講究程度
參考:
http://www.ithome.com.tw/itadm/article.php?c=68698
沒有留言:
張貼留言