2009-08-12 88 views
6

在C#(.NET)中,常規的「格式」標準是什麼?什麼是C#「格式化」標準?

例如,對於參數名稱,到目前爲止我注意到沒有前綴的camelCase,是嗎? 對於對象名稱,camelCase也沒有前綴,對不對?

對於命名空間,類,函數和屬性,單詞的第一個字母是大寫,沒有前綴,這是正確的(再次)?

「臨時」對象是如何格式化的?

例子:

namespace TestNamespace 
{ 
    class MyOwnCoolClass 
    { 
     MyOwnCoolClass(int length, BinaryWriter writer) 
     { 
      BinaryWriter tempbw = new BinaryWriter(length); 
      return tempbw; 
     } 
    } 
} 

(注:此代碼是無效的,我知道,這只是爲了演示格式)。 謝謝!

+1

去找史蒂夫麥康奈爾的「Code Complete 2」 - > http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1?ie=UTF8&s=books&qid=1250101785&sr = 8-1 – Zack 2009-08-12 18:30:14

回答

13

如果您使用StyleCop,你會得到與Microsoft .NET Design Guidelines for Developing Class Libraries良好的一致性。 StyleCop還強制執行一些額外的事情,如間距,文件中項目的排序以及非公開代碼元素的命名。

+0

+1把我的手指說出來! – curtisk 2009-08-12 18:01:03

+0

我不打算使用StyleCop,但鏈接正好滿足我需要的內容。謝謝! – Lazlo 2009-08-12 18:01:33

5

來自Microsoft的完整指南可在Class Design Guidelines中找到。這是舊的,但我還沒有發現任何更新的MSDN,我相信它仍然是標準設置推薦

+0

查看我的帖子以獲取更新指南的鏈接。 :) – 2009-08-12 18:00:08

+0

這裏是更新的鏈接:http://msdn.microsoft.com/en-us/library/ms229042.aspx – 2009-08-12 18:01:27

+0

感謝您的回答,但280Z28的答案更符合我的問題。 :)不過,+1 – Lazlo 2009-08-12 18:02:04

0

我想看看下面的Coding Practices.

它幾乎涵蓋了我,我讀......包括前綴UI元素最C#代碼看到的一切。我個人並沒有遵循這封信,但它給你一個關於一般標準的好主意,以及什麼是好的/壞的做法。

0

有參考的Microsoft編碼標準。 Visual Studio 2005和2008有一個內置的代碼分析引擎,將引導您完成這些編碼標準,同時也爲您指出一些最佳實踐。右鍵單擊您的項目,然後單擊「在項目上運行代碼分析」。

每當發現無效或偏好不佳的代碼部分時,它不僅會發出警告,而且會指向您在FxCop站點上的幫助資源。

0

MSDN:Naming Guidelines

我傾向於遵循.NET Framework是如何編碼的,所以我的代碼是使用.NET框架是一致的。

我唯一的個人偏好是在每個變量如private int m_count之前使用前綴「m_」的類變量的命名。

2

我在去年寫了these guidelines,使用了來自MSFT和其他廣泛接受的指南的各種指南。你可能想要查看它,它也有其他的東西,比如設置項目和其他東西,但是所有的命名準則也在其中。

編輯:我注意到這是一箇舊版本,我有一個新版本,我一直在寫它,它包含很多好東西,但它沒有完成。我會在發佈時更新這篇文章。

+1

作爲一個從未有人給過他任何指導或約定的獨立開發者,我覺得這非常翔實。我很好奇你將如何處理'var'和Form的代碼頁。我看到「源文件佈局」一節,我想知道WinForm代碼頁是否也適用。此外,在「控件和組件」下,您聲明應該使用'ux'來防止以後編碼更改。那麼,那麼,使用var的同樣心態呢?感謝文檔! – 2009-08-12 18:31:57

+0

是的,形式也是如此。新版本將包含更多的好東西。我通常會將區域控制事件與方法分開。通常我的表單從來沒有方法,因爲我總是創建一個獨立於UI層的服務層。 我傾向於更快地完成最新版本,所以我會在發佈後回到這裏。留意一下。 ;) 感謝您的評論! – 2009-08-12 18:38:27

+0

@Refracted Paladin:我們使用「ux」前綴來防止稍後在開發中更改UI控件。例如如果您將文本框更改爲組合框,則匈牙利語慣例使用方法,如果您是命名約定的標尺,則可以將名稱從「txtMyTextBox」 - >「cmbMyComboBox」更改。另外,「m_」和「ux」在Intellisense中爲組變量和控件添加前綴。 – Zack 2009-08-12 18:42:56

相關問題