我应该使用Java命名约定吗?

Sec*_*cko 3 java naming-conventions

我被分配到一个大型项目,该项目将用Java完成,并由团队中的一些程序员查看.我希望代码是可读的和可理解的,因此希望命名约定能够包含读取它的每个人.

我想知道我是否必须使用Java命名约定才能让其他人自然地查看和理解它.我总是使用一种我自己的命名约定,它与Java命名约定没有什么不同,但是继承自C/C++命名约定.

最大的区别是变量,类和方法命名.我使用intLargestNumber, chGet, strName变量等名称.funType, funErase, funAdd, getThis, setThis方法和Screen, clsPlay, cls_User类.Java命名约定将使用类似myNumber变量,lowSplit()方法和Image类的东西.

我的问题是,我应该使用Java命名约定还是使用我自己的命名约定并为我的代码提供词典或日志?

Ste*_*ham 34

使用该语言的标准将使新人加入更加简单.此外,使用外部定义的惯例可以帮助缓和这些风格问题经常引发的宗教战争的程度.

  • +1努力防止宗教战争. (7认同)
  • +1:匈牙利表示法是浪费人物. (6认同)
  • 特别是如果要更改方法的返回类型或具有子类,其中方法的返回类型与父类不同.匈牙利表示法旨在解决的那种问题可以通过IDE更好地处理,它会向您显示您在使用时调用的方法的签名. (3认同)

Emi*_*l H 12

使用Java命名约定.尝试将约定从一种语言应用到另一种语言几乎总是错误的.事实是,大多数人不会花时间阅读用于项目的惯例.因此,使用已建立的语言规范总是更容易.


duf*_*ymo 11

就个人而言,我反对你的命名惯例.它有一个名字:匈牙利表示法.我认为在变量名中嵌入类型是一个非常糟糕的主意.如果我在你的团队中,我会反对它.

  • +1:匈牙利表示法浪费了Java中的字符.充其量它没有帮助.在最坏的情况下,这是误导,因为它是错误的. (5认同)
  • 变量的定义显示变量的类型.如果它涉及更多对象,那么类型并不重要,并且类可以实现多个接口,这样对象名称中的类型会混淆更多,然后它会有所帮助.如果您使用的是良好的IDE,IDE应该在您需要变量类型的每个位置为您提供帮助.变量的名称应该以语义方式显示变量的用途.该类型由语言的语法显示 (4认同)
  • 当你可以拥有的最好的IDE是emacs或vi时,发明了C++"约定".没有元数据可以提供帮助.我们已经远远超出了这一点.是时候让它死了. (3认同)