2012-05-24 67 views
3

我一直在使用「this」。大約兩年的前綴(StyleCop SA1102規則)。但是現在我改變了主意,在靜態和實例專用字段中使用「下劃線」前綴並刪除「this」。字首。C#代碼樣式:從「this」切換。前綴爲「下劃線」

在這裏,我的理由從「這個」切換。爲「下劃線」:

  1. 容易破裂:沒有人在你的團隊將始終使用「這一點。」所以當你看到一個遵循這種風格的項目時,你不會看到「這個」。所有實例成員的前綴。
  2. 無用區別:什麼是實例和靜態字段區分的好處?你有沒有收穫過這些?
  3. 噪音:如果你照顧使用「這」。前綴,你會在每個地方看到「this」。例如,我們在一個類中有77次「this」關鍵字,但在改變了我們的樣式之後,我們只有9個下劃線,並且我認爲代碼更具可讀性(您可以輕鬆地遵循代碼邏輯)。
  4. 剃刀:使用「this」似乎很難看。 Razor C#代碼中的前綴。例如,您將擁有「@ this.Html.Something」而不是「@ Html.Something」。我們喜歡一個適用於我們所有C#代碼的通用規則。

你是什麼想法?

是否合理忽略了StyleCop SA1102規則(「這一點。」前綴),並使用「下劃線」前綴區分類字段?

+1

我已經知道編寫「this」的開發人員。只是因爲這個點會帶來智能感知。在通知他們Ctrl + Space啓動後,他們立即停止使用關鍵字。 –

+1

當然不同。 「這個。」帶來實例成員,而CTRL + SPACE帶來了一切。雖然這不是使用「這個」的好理由。「 –

+0

看起來像CTRL + ALT + SPACE只會引發實例成員 - 但那可能只是Resharper。 –

回答

5

你們所有的積分將適用於強調以及(它需要強制執行,而不是有用的,等等),如果你改變77「本」到9 _ - 你可能已經走了9個「這個'我也確定。

瞭解這是一個實例還是靜態字段/屬性是非常有用的,imo,esp。在多線程環境中。然而,當我看到'這個'時 - 我確切地知道它的含義;與下劃線..我可以猜測,但在這一點上,這取決於你是如何一致。

就個人而言,我經常(並不總是)使用「這個」只是從類屬性區分局部變量,ESP。如果方法很長。

在這一天這只是一個建議,如果你和你的團隊覺得舒服下劃線結束 - 使用。

1

我不會說區分靜態和實例成員是無用的。它取決於你在大多數時間工作的代碼類型(多線程代碼或只是與代碼無關的代碼)。 「這個。」給出了所使用的成員的直接語義,事實上,你個人不需要這個在這裏並不重要。幾個團隊開發的大型企業應用程序從諸如「this」之類的簡單可讀性改進中受益匪淺。

A few more details