我对开发人员的数量感到有点困惑,我看到在类名或方法下面用花括号编写方法和类。他们遵循什么惯例?
Sun clearly states,正确的声明是:
// this declaration follows sun's conventions
class Sample extends Object {
Sample(int i, int j) {
....
}
}
越来越多的我认为这被宣称为(甚至在书中):
// this declaration follows a convention I cant identify
class Sample extends Object
{
Sample(int i, int j)
{
....
}
}
而且我知道一个会议只是一个惯例,只要你遵循一个惯例,一切都很好。我只是在寻找后一声明遵循什么约定的答案?
答案 0 :(得分:28)
这是一种称为ANSI样式的标准样式约定。除了Java之外,它在其他语言中也很常见。
答案 1 :(得分:11)
正如你所说,你已经看到了很多东西 - 这不是使它成为一个公约本身,无论是否有一个单一的来源或名称的约定?这很容易描述,我认为它不需要特定的归属。维基百科的"indent style"页面称它为Allman Style或ANSI样式,但坦率地说,我已经使用它多年没有听到这个名字,我不认为知道这个名字会改变任何关于我编码的方式:)
与诸如命名公共类型和方法之类的约定不同,大括号位置对使用代码的编译版本的开发人员没有影响......因此,对于不同的项目和公司来说,对此有不同的看法是可以的(IMO)。 ..同样是否使用空格或制表符,用于缩进等的空格数量。我怀疑这就是为什么你看到更多关于支撑(可能是私有变量)的变化而不是常规的其他方面。
答案 2 :(得分:6)
请参阅:http://en.wikipedia.org/wiki/Indent_style
Syrion已将其确定为ANSI风格,Sun遵循K& R风格的支架放置。
Tangent:现在我知道被诅咒的风格被称为Whitesmiths style
答案 3 :(得分:4)
我更喜欢第二种约定,因为右括号将直接位于开头的下方,因此更容易找到。
答案 4 :(得分:3)
后者看起来像Allman indent style ,它在C ++中非常流行,但我还没有看到它在Java中经常使用。
答案 5 :(得分:2)
第二个约定也是Visual Studio的默认缩进样式(因此很常见),适用于C#
答案 6 :(得分:1)
第一个会议节省了宝贵的空间。无论如何,括号匹配由编辑完成。