在Java中,我有一堆字段和关联的getter/setter方法。你更喜欢先把它们分成每个领域或领域,然后是吸气/定型者?我应该将我的getter/setter与他们的变量分组吗?
风格1:
int A
int getA()
int B
int getB()
款式二:
int A
int B
int getA()
int getB()
在Java中,我有一堆字段和关联的getter/setter方法。你更喜欢先把它们分成每个领域或领域,然后是吸气/定型者?我应该将我的getter/setter与他们的变量分组吗?
风格1:
int A
int getA()
int B
int getB()
款式二:
int A
int B
int getA()
int getB()
这可能不会真的回答你的问题,因为我不会谈论风格,但对于微不足道的getter和setter我不再写任何代码。在Projekt Lombok一看,都是你必须写为:
@Getter @Setter int a;
@Getter @Setter int b;
如果这仍然看起来像太多的代码,注释也可以在一流水平。
Personnally,风格2.主要取决于你的团队的编码标准。
我更喜欢把所有的成员变量放在顶部,从公开到私人。然后再次按可见性排序所有方法。
风格2是我通常看到的。但我猜想没有硬性规定。
我宁愿先将它们的字段按照方法分组,但它确实没有关系。重要的是,您选择的任何约定在整个项目中都是统一的。
我认为你最好在分离的方法部分中声明变量和Get/Set方法,特别是一些程序设计语言不允许你声明变量之间的过程,所以如果你移动到其中的一个程序中将不必习惯它。除了从变量中分离函数之外,还可以在需要时更轻松地搜索函数。
样式3)
int a
int b
int getA()
int getB()
也许你应该看看上Java Code Conventions:只在代码块的开始
认沽声明。 (一个区块是由大括号“{”和 “}”包围的任何代码 。)不要等到申明变量 直到第一次使用;它可以混淆 不小心的程序员,并妨碍代码 范围内的可移植性。
这适用于方法的if/else块,循环,当然,类。
因此,该公约鼓励第二种方法。
不适用于此,反正有问题。 – 2011-03-14 17:16:43
@Andy Thomas-Cramer:如果我能问,为什么? – 2011-03-14 17:29:29
误用 - 这些声明完全不在块中。可疑的方法 - 这是Java的祖先之一曾经需要的一种不合时代的错误,并且老程序员习以为常,但现在是不必要的错误来源和重构的障碍。Sutter和Alexandrescu在“C++编码标准”第18项中提供了关于同一问题的更多细节:“尽可能在本地声明变量”。大多数相同的论点适用。 – 2011-03-15 15:32:02
我正在使用Style2 ... – Adnan 2011-03-11 09:23:23
我不认为这只是获取者和制定者的问题。这个问题对其他类方法是否有效? – starcorn 2011-03-11 09:50:09