花括号的这个约定是什么名字?

我对开发人员的数量感到有点困惑,我看到在类名或方法下面用花括号编写方法和类。 他们遵循什么惯例?

Sun 明确表示正确的声明是:

// 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) { .... } } 

而且我知道一个会议只是一个惯例,只要你遵循一个惯例,一切都很好。 我只是在寻找后一声明遵循什么惯例的答案?

这是一种称为ANSI样式的标准样式约定。 除了Java之外,它在其他语言中也很常见。

正如你所说,你已经看到了很多东西 – 这不是使它成为一个公约本身,无论是否有一个单一的来源或名称的约定? 这很容易描述,我认为它不需要特定的归属。 维基百科的“缩进样式”页面称它为Allman Style或ANSI样式,但坦率地说,我已经使用它多年而没有听到过这个名字,我不认为知道这个名字会改变我编码的方式:)

与诸如公共类型和方法的命名之类的约定不同,大括号位置对使用代码的编译版本的开发人员没有影响……因此,对于不同的项目和公司来说,对此有不同的看法是可以的(IMO)…同样是否使用空格或制表符,用于缩进的空格数等。我怀疑这就是为什么你看到更多关于支撑(可能是私有变量)的变化而不是常规的其他方面。

请参阅: http : //en.wikipedia.org/wiki/Indent_style

Syrion已将其确定为ANSI风格,Sun遵循K&R支架放置方式。

Tangent:现在我知道被诅咒的风格被称为Whitesmiths风格

我更喜欢第二种约定,因为右括号将直接位于开口的下方,因此更容易找到。

后者看起来像是在C ++中非常流行的Allman缩进样式 ,但我还没有看到它在Java中经常使用。

第二个约定也是Visual Studio的默认缩进样式(因此很常见)用于C#

第一次会议节省了宝贵的空间。 无论如何,括号匹配由编辑器完成。