您是否使用匈牙利表示法来控制名称?

Vim*_*987 4 c# naming-conventions hungarian-notation winforms

我完全同意我们不应该使用匈牙利表示法来命名变量.但似乎匈牙利表示法对名称控件(尤其是Winform控件)仍然有用.考虑这些:

GridView grvUsers
TextBox txtPassword
Run Code Online (Sandbox Code Playgroud)

等等...

我真的怀疑在这种情况下我们应该避免使用匈牙利符号吗?如果应该,这是名称控件的替代解决方案?

Bra*_*ith 6

无论是对还是错,使用匈牙利表示法来命名控件仍然是事实上的标准,而且不采用它似乎非常不合适.与.NET语言中的方法使用Pascal Casing的方式相同(在大多数其他语言中,它是不受欢迎的),超出您所使用的环境的公认约定只会使您的代码看起来更加明显 - 的的地方.

我个人赞成这种做法,因为它有助于区分作为用户界面(视图)一部分的类成员与作为代码隐藏(模型/控制器)一部分的成员.如果控制变量的名称与用于存储数据,状态等的名称相似,那么我觉得很难抵制将两者紧密结合的诱惑.当然,更明显的逻辑分离也会克服这一点.

尽管如此,Hungarian Notation毫无疑问地确定了哪些变量是用户界面的一部分,并且在设计器和代码编辑器中也明确了它们的类型和功能.

  • 没关系,MS说"不要这样做".没关系,现在存在的每个有用的IDE都可以通过将鼠标悬停在其名称上来告诉您变量的类型.没关系*你不能在没有尴尬的情况下大声朗读这些名字.*别介意匈牙利的符号应该描述的是*类*的东西,而不是类.不要紧,如果您稍后将该文本框更改为富文本编辑器,*您的变量名称对您而言.*不,这种做法*需要*死. (3认同)