这是匈牙利表示法吗?

use*_*189 1 java

开始了一份新工作,提供了我的第一份公关,并有很多评论意见,我个人认为这些评论是轻浮的.

虽然它很容易修复,我不相信这是匈牙利表示法,它只是明智的变量命名.

这是代码行:

final List resultTermsList = Collections.singletonList(resultTerm);
Run Code Online (Sandbox Code Playgroud)

这是我收到的评论:

不需要匈牙利表示法. resultTermsList -> resultTerms

这是匈牙利表示法吗?

Bas*_*que 6

final List resultTermsList = Collections.singletonList(resultTerm);
Run Code Online (Sandbox Code Playgroud)

这是匈牙利表示法吗?

是的,不.

没有

不,不是最严格的意义.

匈牙利符号是早期计算机编程的一种实践.工具很薄弱,没有复杂的解析器,在他/她工作时给程序员提供了详细的分析和反馈.今天看到的IDE并不存在.各种语言都非常有限,即使是变量名称限制为极短的长度.

匈牙利语是一种通过在变量名称中包含特定字母作为约定来指示变量的数据类型来识别类型的方法.

随着工具和语言的改进,对匈牙利符号的需求逐渐消失.

所以,从最严格的意义上说,,你的代码并没有完全遵循匈牙利的符号约定.

是的,从一般意义上说.

您给定的代码示例包括数据类型,List作为变量名称中的单词"list".这与匈牙利表示法的输入目的相似,包括l变量名称lInvTot,表示"长整数".

鉴于今天强大的编辑器和IDE可以提供识别数据类型的各种实时帮助,类,超类和其他上下文信息,包括变量名称中的类型指示器是不必要的.这样的指标增加了冗长而没有增加价值.通常,在不必要的情况下应该避免这种情况,其中可读性降低.

但语境就是一切.有时在名称中包含类型是明智和合理的.例如,在计算发票总额的应用程序中,您可能具有标签,按钮,结果字段,内部结果编号和方法名称,这些名称可以命名为"invoiceTotal".所以它可能是有意义的有名字,例如invoiceTotalLabel,invoiceTotalButton,invoiceTotalField,和invoiceTotalBigDecimal代码在一个区域内,如果清晰度和可读性增强.