2016-05-20 21 views
1

讓我們明確:我不是在尋找意見,而是一個答案,如果可能的話,實際記錄的來源或參考。C#和VB類私有變量命名實踐和「_」字符

  • 創建私有變量字段:(?最好從MSDN的東西)

在.NET中創建一個類時,其基本結構我按照沿行去。

  • 使用get/set定義類屬性。
  • 創建構造函數。
  • 爲數據庫功能添加額外的類方法。
  • 其他功能。
  • 我如何來命名我的私有變量:

    private string _myString; 
    

    如何目前的名字我的私有變量:

    private string iMyString; 
    

    有人告訴我,使用「_」字符的私變量聲明有負面影響。然後我改變了我的習慣以使用「我」字符。我發現對這些聲明使用相同的字符有助於創建類屬性的速度和整體開發時間。

    我的問題是:什麼是類私有變量命名結構的行業標準?而且,爲什麼使用「_」字符被認爲是不好的做法?

    我已經做了相當多的谷歌搜索,甚至在MSDN網站上我看到的網頁有他們的例子經常變化,因此不一致。

    我不確定這是否被認爲是一個問題,但我傾向於練習高質量的代碼。

    +6

    [「關於標準的好處是,您有太多的選擇。」](https://en.wikiquote.org/wiki/Andrew_S._Tanenbaum) - 沒有行業標準。只有意見...我會問使用下劃線有什麼「負面影響」?我一直都在使用它們。 –

    +0

    據我所知,使用下劃線沒有壞處。比您決定要做的更重要的是確保您的標準集以一致的方式使用。 – juharr

    +1

    如果您使用「自動實施」屬性,則不再需要爲屬性備份字段和getter/setter。編譯器爲你提供了一個隱含的'_propName'變量(所以一個前導'_'它不可能太糟糕)。比VB和C​​#發散之後。 VB允許你在任何地方訪問隱式字段,而隱藏在C#中。 BTW [本身](https://en.wikipedia。org/wiki/Per_se) – Plutonix

    回答

    2

    .NET foundation coding style guidelines

    我們使用_camelCase內部和私人領域和使用readonly在可能的情況。前綴爲_的實例字段,帶有s_的靜態字段以及帶有t_的線程靜態字段。