没有匈牙利语的对象命名?

时间:2010-04-05 03:46:30

标签: vb.net naming-conventions

主要是因为阅读本网站,我试图摆脱匈牙利表示法。或者我猜不合适的(系统)匈牙利语。

我可以找出一种更好的方法来命名大多数数据类型,但我不知道如何处理对象。什么是对象的良好命名约定?我现在使用objRS作为记录集。我会用rs吗?

3 个答案:

答案 0 :(得分:2)

我会使用customerRecordSetcustomers

你真的需要提醒自己这是一个对象吗? Everything 在很大程度上都是一个对象。

你真的需要提醒自己这是一个记录集吗?一旦你看到自己像记录集那样对待它,就会很清楚它是一个记录集。

答案 1 :(得分:1)

您标记了自己的问题vb,但您并不具体说明哪个 vb,这里的答案实际上取决于您正在使用的vb版本。

系统当您使用旧的vb6或vba语言时,匈牙利语符号仍然很有意义。这是因为它是一个更宽松的类型系统,并且您无法从IDE获得有关数据类型的帮助。匈牙利前缀提供的类型信息非常有价值。

对于较新的(基于.Net的)代码,请不要使用前缀。 .Net Framework喜欢强类型代码,Visual Studio会在您需要时为您提供更多帮助。您只需提醒自己变量是对象或整数或记录集或其他任何东西;它在您的开发环境中立即显而易见,没有任何前缀。

答案 2 :(得分:0)

创建描述对象及其用法的名称。名称和上下文(更不用说智能感知)应该足以在你看到它们时提醒你它们的类型。

就此而言,我感受到了你的痛苦。我在大学学习了VB6,并且学习了匈牙利语,其中名字的变量叫做strFirst。当我转到.NET和C#时,即使C#的公认标准没有包含这样的符号,我也不会很快放弃我的旧习惯。通过将符号缩短为单个字符,我完全符合(或者至少,这就是我所说的),因此名字将存储在名为sFirst的变量中。我告诉自己我需要那个角色所以我会知道我的变量类型是什么。但你知道吗?它强化了另一个坏习惯,因为我的变量名称不够描述。什么是第一个?首先是什么?现在,我显然可以使变量名称更具描述性并保留匈牙利符号,但对我来说,一个坏习惯(符号)与另一个(缩写变量名称)齐头并进。

最终,这可能不到一年前,我咬紧牙关,开始以“正确”的方式编写代码。符号已经消失,我的名字更具描述性,而且(最重要的是)我对查看代码和从名称/上下文知道我正在使用的变量类型没有任何问题,也没有任何模糊性知道什么是变量指的是。我说放手,你不会错过它。