2011-01-06 67 views
4

在班級名稱中使用_安全嗎?在班級名稱中使用下劃線

命名中.的最佳替代品是什麼? (目前我使用_。)

+0

您是否試過並看過編譯器說的什麼? – BoltClock 2011-01-06 23:50:36

+1

@BoltClock:這是「最佳實踐」的問題,而不是工作或不工作。 – Xaqron 2011-01-06 23:53:50

回答

8

這是安全在一次對一個下劃線這樣做,但你不應該使用兩個連續下劃線。從C#語言規範的第2.4.2節:

包含兩個連續下劃線字符(U + 005F)的標識符被保留供實施使用。例如,一個實現可能會提供以兩個下劃線開頭的擴展關鍵字。

就我個人而言,儘量避免使用下劃線的類型名稱...雖然我不確定您的意思是「替換.」。如果你可以給一些背景,這將有所幫助。

2

是的,它是安全的。

你甚至不應該考慮有一個「。」在班級名稱中。我無法想象他們什麼時候會出現。也許如果你想命名「.NET」,你可以使用「DotNet」。類名應該簡潔,並且我個人從未在其中使用過下劃線。我更喜歡駱駝套。

您可能會考慮閱讀MSDN - Naming Guidelines

+2

+1點的想法。所以我可以使用:`GoogleDotCom`當需要`時。` – Xaqron 2011-01-06 23:55:42

+0

@Xaqron:是的,但總的來說你不需要它(你可以通過另一個屬性等來表示它是`.com`網站,它不需要在類名中)。 – 2011-01-07 00:00:10

0

在類名中使用_是安全的,就像使用其他標識符一樣。

爲什麼在你的類名中需要邏輯.?你能給個例子嗎?

2

對於類名稱,我使用CamelCasing而不是_。你應該堅持一個標準,如果你正在與多人合作項目,這是特別重要的。命名約定應該在解決方案/組織中保持一致

0

聽起來像生成CSharp代碼。如果是這樣的話,你可能會想看看從System.Design裝配以下輔助函數:

http://msdn.microsoft.com/en-us/library/ms145952.aspx

static string FixName(string givenName) 
{ 
    return System.Resources.Tools.StronglyTypedResourceBuilder.VerifyResourceName(
     givenName, new Microsoft.CSharp.CSharpCodeProvider()); 
} 
1

正如其他人所說,它是安全的。但是,Microsoft的Class Naming Guidelines閱讀:

不要使用下劃線字符(_)。

正如Jon Skeet提到的,一個好的替代方案是將.替換爲Dot。例如,與drive.google.com相關的類可以命名爲DriveDotGoogle。 (我認爲DotCom部分可以省略,以免不必要地延長名稱。)