微軟很清楚,.NET「標識符」或「參數」不應該包含縮寫。直接從馬的嘴:LINQ查詢:SQL風格的縮寫或拼出來?
爲了避免混淆和保證跨語言的互操作,遵循使用縮寫規則:
- 不要使用縮寫或收縮的標識符名稱的部分。例如,使用GetWindow而不是GetWin。
- 請勿使用在計算領域中未被普遍接受的縮寫詞。
- 在適當的情況下,使用衆所周知的首字母縮略詞替換冗長的短語名稱。例如,使用用戶界面和OLAP進行在線分析處理。
- 使用首字母縮略詞時,請使用Pascal案例或駱駝案例縮寫超過兩個字符的首字母縮寫詞。例如,使用HtmlButton或htmlButton。但是,您應該大寫只包含兩個字符的首字母縮寫詞,如System.IO而不是System.Io。
- 請勿在標識符或參數名稱中使用縮寫。如果您必須使用縮寫,請使用駱駝案例來縮寫由兩個以上字符組成的縮寫,即使這與該單詞的標準縮寫矛盾。
- http://msdn.microsoft.com/en-us/library/141e06ef%28VS.71%29.aspx
然而,如果你看看MSDN自己101 LINQ Samples page,你會發現噸這樣的例子......
var productNames =
from p in products
select p.ProductName;
...和很少(無?)像這樣...
var productNames =
from product in products
select product.ProductName
...但在其他MSDN頁面上,您會找到可以拼寫出來的示例(例如,http://msdn.microsoft.com/en-us/library/bb384065.aspx)。
討論
我感慨這個感受。有了intellisense,拼出所有東西並不算困難,但我不確定它有多大的優勢。它更易讀還是更少?爲了清晰起見,你有點爲了字面而交易。 SQL程序員似乎相處得很好,用表名的簡寫縮寫,但是再次,程序員也習慣使用匈牙利符號來生存,而這已經被證明是一個不好的主意。
所以,一對夫婦的問題:
- 是否有LINQ查詢是否應該被簡化或者沒有任何官方指導?
- 你特別喜歡什麼?爲什麼?
我同意tvanfosson和亞倫。範圍,循環和索引變量是縮寫規則通常可接受的例外。 – 2009-12-31 04:47:28