Questions tagged «hungarian»

13
您是否在变量名称前加上变量类型的缩写?(匈牙利表示法)
在我目前的工作中,没有编码准则。每个人几乎都按照他想要的方式进行编码。很好,因为公司很小。 但是,最近有一个新手提议始终使用匈牙利表示法。到目前为止,我们中的一些人使用了某种匈牙利符号,而我们中的某些人则没有。您知道,这是一家工程公司,因此只要算法是合理的,编码样式就并不重要。 我个人认为这些小写缩写是多余的。一个经过深思熟虑的名字通常会传达相同的信息。(此外,大多数的我们的代码必须运行一些怪人的DSP,在那里同样的一个概念bool或float不存在反正)。 那么,您如何看待匈牙利符号?你用吗?为什么?

7
对于静态表达不充分的语言,匈牙利符号是否可以解决?[关闭]
在埃里克·利珀特(Eric Lippert)的文章中,匈牙利表示法是怎么回事?,他指出,匈牙利符号(一种好符号)的目的是为了 扩展“类型”的概念以涵盖除存储表示信息之外的语义信息。 一个简单的示例是,用x表示变量的前缀是x,用y表示变量的前缀是y,无论这些变量是整数还是浮点数或其他形式,这样当您不小心编写时xFoo + yBar,代码显然看起来是错误的。 但是我也一直在阅读有关Haskell的类型系统的信息,似乎在Haskell中,可以使用编译器会为您检查的实际类型来完成同一件事(即“将类型的概念扩展为包含语义信息”)。因此,在上面的示例中,xFoo + yBar如果正确设计程序,在Haskell中实际上将无法编译,因为它们将被声明为不兼容的类型。换句话说,Haskell的类型系统似乎有效地支持了相当于匈牙利表示法的编译时检查。 那么,匈牙利符号法是否只是一种编程语言的创可贴,其类型系统无法对语义信息进行编码?还是匈牙利记谱法提供的东西超出了Haskell的静态类型系统所能提供的东西? (当然,我以Haskell为例。我确定还有其他语言具有类似表现力(丰富?强?)类型系统,尽管我还没有遇到过。) 明确地说,我不是在用数据类型注释变量名,而是在程序上下文中使用有关变量含义的信息。例如,变量可以是整数,浮点数,双精度或长整数等,但变量的含义可能是它是以英寸为单位的相对x坐标。这就是我所说的通过匈牙利表示法(和通过Haskell类型)编码的信息。

8
Systems Hungarian的吸引力是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 在什么命名规则,你跟着?,作者说: 另外,我更喜欢使用Charles Simonyi的匈牙利符号进行编码。 我碰到过一些仍然喜欢使用匈牙利语的程序员,大多数都是Petzold / Systems匈牙利语风格的。想想dwLength = strlen(lpszName)。 我已经阅读了使代码看起来错误的代码,并且了解Apps Hungarian的基本原理,其中变量名中包含域类型信息。但是我不理解将编译器类型附加到名称中的价值。 为什么程序员仍然坚持使用这种样式?只是惯性吗?有什么好处可以弥补可读性下降的困扰吗?人们在阅读代码时是否只是学会忽略装饰器,如果是的话,他们如何继续增加价值? 编辑:很多答案都在解释历史,或者为什么它不再相关,在我引用的文章中都涵盖了这两个问题。 我真的很想听听仍然使用它的任何人。为什么使用它?是否符合您的标准?如果不需要,您会使用吗?您会在新项目上使用它吗?您认为优势何在?

12
类型和作用域前缀是否值得命名约定?
最近开始担任软件开发人员的第一份工作时,有人被告知我不必在代码中遵循任何命名约定。由从事其他较大项目的小组编写的代码遵循命名约定,但是由于我被邀请编写一个新的独立应用程序,因此感觉并不重要。这是我最后的担心,所以我只是采用了现有的惯例并予以遵守。 int nTickCount bool bConnected object[] m_aItems fSum += fWeight * fValue class cManager enum etSystemStates etSystemStates eState cManager.cs 但这真的值得吗?我发现很难判断遵循这种命名约定对理解和检测错误的最终效果,但是,从视觉上看,它看起来很丑陋。另外,在项目中拥有名为cSomething的每个类和文件似乎很精明。 与具有明显不同的事物(例如您所采用的算法和体系结构)相比,我并不觉得这有什么大不了的。但是任何影响我编写的每一行代码的约定似乎都应该正确。 如果完全需要使用一种命名惯例,您会发现什么是最优雅,最有效的命名惯例?它表示类型和/或范围吗?

3
努力不使用匈牙利符号
我见过支持和反对匈牙利系统的争论。多年来,我一直在使用该系统的旧项目上工作,方法是命名每个变量,并使用变量类型的前缀(例如(strName,intAge,btnSubmit等))进行命名(我知道原始的匈牙利应用前缀是变量,而不是类型)。我希望我的下一个项目完全放弃它,但是我确实发现很难不借助它来唯一地命名类似的东西。 可以说我有一个用于收集电子邮件地址并将其存储在数据库表中的网络表单,还有一个按钮,它调用了将地址保存到数据库的函数。 如果我使用的是匈牙利风格符号,则可以将该框txtEmail称为按钮,btnEmail并将其称为textbox中包含的值strEmail。然后,我可能会使用一个功能storeEmail(strEmail)来存储电子邮件。我这里有一个明确的约定,很明显每个变量是什么。 命名这些变量的最佳实践是什么 不求助于匈牙利系统 而不会使它们长时间或令人困惑 并在整个项目中使用明确的约定?
10 naming  hungarian 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.