2011-12-16 48 views
1

建議使用類型名稱和可取名稱避免使用縮寫。即使使用現代寬屏顯示器,也建議源線寬度應爲80或最多120個字符。縮寫或完整名稱?

這裏是我們真正的prject行:

final PimAuthoringApplicationMappingReader pimAuthoringApplicationMappingReader = 
     new PimAuthoringApplicationMappingReader(pimAuthoringApplicationMappingFile); 

佔據至少兩行簡單的新的操作,即使我們在這裏使用的縮寫已經(PIM = ProIntralink合併)。

儘管用這種方法很容易理解每​​個單詞,但它使得一個簡單的方法更長,因此很難在屏幕上適用一種方法。

問:什麼是更好的方式來處理這種情況?推薦使用「合理」的縮寫 - 例如:

final PimAuthAppMapReader pimAuthAppMapReader=new PimAuthAppMapReader(pimAuthAppMapFile); 

+0

我在我的IDE中使用比例字體,所以我在屏幕上獲得了大約180個字符。在這一點上,我包裝了代碼。然而,Java Code Convention提供了80個字符,即使大多數開發者可能不遵循這個規定,我也不希望這個建議改變。 – 2011-12-16 09:32:32

回答

3

這是一個常見的問題,Java項目我的工作有一些類,讓我抓我的頭出於同樣的原因。在縮短類名稱之前縮短局部變量名稱,但如果結果合理,縮短類名稱就沒有問題。

打破局部變量與其類型相同的名稱的慣例在這些情況下釋放了相當多的空間。如果需要更多空間,我可能會縮短類型名稱。

在你的例子中,我很好地縮短了應用程序到應用程序,但不太確定縮短映射到映射,因爲「映射」在Java中具有不同的主要含義(第一關聯)。

2

我一直覺得奇怪的具有相同名稱的實現類(或接口)命名變量的想法。縮寫名稱也一樣。

它沒有提供關於對象在聲明中的真實目的的信息,而且當你有多個對象並且使用數字作爲後綴時,它往往會變得更糟。

因此,相反,使用描述對象在上下文中的意圖的名稱,幾個月後查看您的代碼會更容易。

+0

例如,當變量具有可用於描述它的目的/意圖時,這是有意義的。 String string = user.getName();沒有意義,並會更好,因爲字符串userName = user.getUserName();然而,當你有一個變量指的是一個類名,它描述了你正在使用變量的類,如:User user = new User();變量與類具有相同的名稱是有意義的。 – devo 2013-02-05 19:38:43

2

首先,代碼必須力求清晰度。通常,這意味着縮寫,然而,在某些情況下的共同縮寫提高清晰度。通常,首字母縮略詞沒有說出來,而是試圖對待縮寫爲,而不是保持「全部大寫」的縮寫。
這裏有什麼例子我談論的:

HtmlRequest (not HTMLRequest) 
App instead of Application 
XmlProcessr instead of XMLProcessor 
etc 

不要擔心頁面寬度。擔心可讀性!

+0

頁面寬度無法隨意更改,否則在比較不同版本以查找CVS更改時會造成麻煩。 – chance 2011-12-16 09:47:18

2

我會保持類名稱冗長,縮短您的變量名的東西更明智。看着你的榜樣,我認爲這是一個合理的努力:

final PimAuthoringApplicationMappingReader pimMappingReader = 
     new PimAuthoringApplicationMappingReader(pimMappingFile); 

請記住,閱讀你的代碼的人能夠引用變量的類型很容易,當你

  1. 定義你的職業爲特定目的
  2. 保持你的方法簡單
  3. 聲明變量在使用它們的

我的上面的例子是有道理的,如果沒有其他類型被定義爲非常相似的名稱。你甚至可以說,這也仍然是有意義的,如果有沒有多少人在同樣的方法繼續並且變量局部範圍

final PimAuthoringApplicationMappingReader pimReader = 
     new PimAuthoringApplicationMappingReader(pimFile); 

我不會縮短類的名字,因爲你可能沒有任何可以讀取它們上下文(例如API文檔,配置文件等)

但最重要的是儘量一致地編碼。如果風格已被使用,請遵循它,除非讓每個人都同意改變它。