2008-12-02 63 views
2

我已經看到了一些變量聲明在像數的方式編碼標準:問題:VB.net就宣佈在VB.net可變

print("dim _Foo as string"); 

和 打印(「暗淡m_Foo爲字符串」); 和 print(「dim foo as string」);

我想知道VB.net編碼的標準是什麼。

回答

2

這一切都取決於範圍。在以下情況下:

Private Dim m_Foo As String 

這意味着m_Foo是一個類的成員。這也意味着同樣的事情:

Private Dim _Foo As String 

這是一個偏好問題。

在另一方面,這樣的事情:

Dim Foo As String 

可能是指一個局部變量給定的方法。有些人甚至用「L_」前綴是:

Dim l_Foo As String 

聲明像這樣的例子在掃描條形碼時確定範圍幫助。全部放在一起,這裏是展示一個衆所周知的命名規則(但不是唯一的一個)的樣本類:

Public Class Bar 
    Private m_firstName As String 

    Public Sub New(ByVal firstName As String) 
     m_firstName = firstName 
    End Sub 

    Public Function SayGreeting() As String 
     Dim l_Greeting As String 
     l_Greeting = String.Format("{0}, {1}!", "Hello", m_firstName) 
     Return l_Greeting 
    End Function 
End Class 
1

使用「m_Name」成員變量在VB標準。我幾乎從不遇見不這樣做的人。

很多(但不是全部)使用「s_Name」作爲共享變量。這就清楚了變量的使用方式。

對於本地變量,我使用「名稱」。爲什麼?那麼參數本質上是一個局部變量,它使用該模式(按照.NET指南),那麼爲什麼不讓所有局部變量都是這樣呢?

+0

爲什麼不參數是p_Name? – Maslow 2009-05-22 12:11:34

1

我不同意,我已經看過很多方法來爲類變量加上前綴,包括「m」,「m_」和_。

我有一個完全不同的方法,很好地服務了我。我創建了一個名爲backingStore的結構,其中包含我的類變量,然後我有一個名爲Local的Private Variable作爲新的backingStore。

這使我可以對屬性和類變量使用相同的名稱,並且在引用它時很清楚我正在談論哪一個。恩。

Local.FirstName = 「弗雷德」

看到這裏

Design Lunacy: Pain in the m_#$*^

0

完整的示例這真的取決於命名約定在您的工作環境一致。有絕對的指導可用:Naming Conventions for .NET/C# Projects - 這基本上是我們所遵循的。

例如:

_member //Class member - Camel Case 
intLocalVariable //note use of Hungarian notation - Camel Case 
pMethodParameter //Camel Case 
MyProperty //Pascal Case