标签: hungarian-notation

`m_`变量前缀是什么意思?

我经常在教程,示例和其他主要与游戏开发相关的代码中看到m_用于变量(m_World,m_Sprites...)的前缀.

为什么人们m_为变量添加前缀?

hungarian-notation

132
推荐指数
6
解决办法
8万
查看次数

我为什么不用"匈牙利表示法"?

我知道匈牙利语所指的内容 - 将有关变量,参数或类型的信息作为其名称的前缀.每个人似乎都狂热地反对它,尽管在某些情况下它似乎是一个好主意.如果我觉得有用的信息被传授,为什么我不能把它放在那里?

另请参阅:人们是否在现实世界中使用匈牙利命名惯例?

language-agnostic naming-conventions hungarian-notation

122
推荐指数
15
解决办法
12万
查看次数

为什么我不应该在字段前加上?

我从来都不是匈牙利表示法的粉丝,除非你做了一些非常低级的编程,否则我总是觉得它很无用,但在每个C++项目中,我都采用了某种匈牙利符号政策,并且使用一些"非真正匈牙利"的前缀作为m_表示字段,s_表示静态,g_表示全局变量等等.

很快我意识到它在C#中有多么无用,并逐渐开始放弃我所有的旧习惯......但是'm_'的事情.我仍然在私有字段上使用m_前缀,因为我真的觉得能够区分参数,本地和字段非常有用.

MSDN上字段页面命名约定说我不应该,但它没有说明原因(例如Google的惯例通常倾向于合理化他们的处方).

有没有理由我不应该或只是风格问题.如果是后者,前缀通常被认为是一种不好的风格,我是否可以期待其他人在代码库上做出负面反应?

c# field naming-conventions hungarian-notation

49
推荐指数
10
解决办法
2万
查看次数

'k'前缀在Apple的API中表示什么?

我遇到了很多名为k+ someVariableNameHerek+ APILibraryName(2Char)+ 的Core Foundation变量的例子someVariableNameHere.这个前缀K表示什么?

例子包括:

kGLPFAStereo
kCollectionLockBit
kSetDebugOption

objective-c hungarian-notation

47
推荐指数
1
解决办法
1万
查看次数

是否真的有必要的前缀("匈牙利表示法")?

由于C#是强类型的,我们真的需要为变量添加前缀吗?

例如

iUserAge
iCounter
strUsername
Run Code Online (Sandbox Code Playgroud)

我以前曾经用过前缀,但是前进我看不出任何好处.

c# naming-conventions hungarian-notation

37
推荐指数
7
解决办法
7531
查看次数

33
推荐指数
8
解决办法
9684
查看次数

常量的k前缀来自哪里?

常量是以k(例如k_pi)为前缀的常见做法.但这k意味着什么?

它只是c已经意味着char什么?

c c++ objective-c hungarian-notation prefix

32
推荐指数
5
解决办法
1万
查看次数

匈牙利表示法的好例子?

这个问题是寻找匈牙利表示法的好例子,所以我们可以把这些集合汇集在一起​​.

编辑:我认为,匈牙利的类型是不是必要的,我希望更具体的例子,其中它增加了可读性和可维护性,像乔尔给出了他的文章(按我的答案).

naming-conventions hungarian-notation

16
推荐指数
10
解决办法
2万
查看次数

textBoxEmployeeName与employeeNameTextBox

您使用哪种命名约定?为什么?

我喜欢使用employeeNameTextBox,因为:

  • 从英语角度来看,这似乎更自然.
  • 我发现用Intellisense查找更容易.
  • 该约定类似于用于事件(MouseClickEvent,MouseClickEventHandler)和依赖项属性(VisiblityProperty)的约定.

注意:我使用的是全名而不是缩写(例如"tb"),因为它符合MS的命名约定,即避免使用缩写.

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

wpf naming-conventions hungarian-notation winforms

13
推荐指数
1
解决办法
6344
查看次数

匈牙利语符号适用于Perl吗?

在Perl中,对任何东西的引用都是一个简单的标量,并且有$sigil.有时很难说它是什么样的参考.

我个人为带有字母的引用添加变量名称,这表示引用类型.例子:

my $aValues = [];                # arrayref
my $hValue  = {};                # hashref
my $oValue  = bless {};          # object
my $sValue  = \(my $s = 'foo');  # scalarref
...
Run Code Online (Sandbox Code Playgroud)

我见过这种符号的支持者和反对者.你用它吗?它有任何缺点吗?

perl types naming-conventions hungarian-notation

13
推荐指数
4
解决办法
790
查看次数