0

我对这个问题有点困惑,因为我将变量前缀与现在的过去联系起来,但是随着 Visual Studio 2010 及更高版本(我目前使用的是 2012),人们仍然这样做吗?为什么?

我之所以这么问,是因为如今,您可以将鼠标悬停在任何变量上,它会告诉您变量类型和范围。为了可读性,实际上不需要预先修复。

我的意思是:

string strHello
int intHello

等等

而且我在这里偏向于语言/工具 - 因为 Visual Studio 在查看变量的确切类型方面为您做了很多工作,包括在代码中的转换之后。这不是一个“通用编程”问题。

4

4 回答 4

3

重要的一点是变量名“不应该”代表它的类型。相反,它应该指示变量的“业务语义”;变量的类型在代码维护期间会发生变化,但该变量的语义很少改变。

将“ StyleCop ”纳入您的开发生命周期可以在团队成员之间强制执行一致的代码样式。

更新:摘自“框架设计指南”的第 3 章,专门用于“命名指南”,有助于澄清问题:

标识符名称应该清楚地说明每个成员的作用以及每个类型和参数代表什么。为此,名称清晰比简短更重要。名称应与场景、系统的逻辑或物理部分以及众所周知的概念相对应,而不是与技术或体系结构相对应。

请选择易于阅读的标识符名称。[...]

确实有利于可读性而不是简洁。[...]

请勿使用下划线、连字符或任何其他非字母数字字符。[...]

不要使用匈牙利符号。[...]

于 2012-09-07T08:47:32.917 回答
1

我们不再使用匈牙利符号,但是当我编写 GUI 的东西时,我倾向于使用前置或后置控件。例如lblNamenameLabel的。tfName_nameTextField

于 2012-09-07T08:40:46.077 回答
0

在变量名称前加上其类型的指示称为匈牙利符号(例如 strName)。过去经常做错事,现在通常不鼓励这样做。

于 2012-09-07T08:38:18.463 回答
0

如果您指的是匈牙利符号,是的,它已成为过去,并且不再被任何人推荐(据我所知)。请参阅MSDN 命名约定

但是,许多人喜欢在字段名称中添加前缀,以将它们与局部变量和参数区分开来。我个人在字段名称前加上“_”。

于 2012-09-07T08:38:47.543 回答