gpt4 book ai didi

conventions - 人们在现实世界中使用匈牙利命名约定吗?

转载 作者:行者123 更新时间:2023-12-03 08:30:52 27 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。

9年前关闭。




Improve this question




是否值得学习该约定,或者它是否会损害可读性和可维护性?

最佳答案

考虑到大多数使用匈牙利符号的人都在遵循被误解的版本,我会说这毫无意义。

如果你想使用它的原始定义,它可能更有意义,但除此之外它主要是语法糖。

如果您阅读 Wikipedia article在这个主题上,你会发现两个相互冲突的符号,Systems Hungarian Notation 和 Apps Hungarian Notation。

最初的、好的定义是 Apps Hungarian Notation,但大多数人使用 Systems Hungarian Notation。

作为这两者的一个例子,考虑用 l 表示长度、a 表示面积和 v 表示体积作为变量的前缀。

使用这种表示法,以下表达式是有意义的:

int vBox = aBottom * lVerticalSide;

但这不是:
int aBottom = lSide1;

如果您混合前缀,它们将被视为等式的一部分,并且体积 = 面积 * 长度对于盒子来说很好,但是将长度值复制到面积变量中应该会引发一些危险信号。

不幸的是,另一种表示法不太有用,人们在变量名称前加上值的类型,如下所示:
int iLength;
int iVolume;
int iArea;

有些人使用 n 表示数字,或 i 表示整数,f 表示浮点数,s 表示字符串等。

最初的前缀是用来发现方程中的问题,但不知何故已经演变成使代码更容易阅读,因为你不必去寻找变量声明。对于今天的智能编辑器,您只需将鼠标悬停在任何变量上即可找到完整类型,而不仅仅是它的缩写,这种类型的匈牙利符号已经失去了很多意义。

但是,你应该自己决定。我只能说我也不用。

编辑 只是为了补充一点,虽然我不使用匈牙利符号,但我确实使用了前缀,它是下划线。我在类的所有私有(private)字段前面加上一个 _ ,否则拼写它们的名称,就像我拼写一个属性一样,首字母大写。

关于conventions - 人们在现实世界中使用匈牙利命名约定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5428/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com