Java编码约定:getter&;二传手

Java编码约定:getter&;二传手,java,coding-style,sun-coding-conventions,Java,Coding Style,Sun Coding Conventions,为什么在类中把getter和setter放在构造函数之后是一种惯例 我宁愿看到它们紧跟在类字段之后、构造函数之前,以便查看哪些私有字段可以通过getter和setter方法访问。尤其是当方法的主体是单返回或赋值语句时。我的观点是,你有字段,然后是构造函数,然后是方法,这样你就可以通读这个类,说:“这是组成对象的东西,这是你构建它的方式,构建它之后,你可以用它来做什么。” 也就是说,这完全是主观的。如果在您感兴趣的领域中,另一种布局对您和您的团队有意义,那么请以不同的方式进行。你唯一应该警惕的是确

为什么在类中把getter和setter放在构造函数之后是一种惯例


我宁愿看到它们紧跟在类字段之后、构造函数之前,以便查看哪些私有字段可以通过getter和setter方法访问。尤其是当方法的主体是单返回或赋值语句时。

我的观点是,你有字段,然后是构造函数,然后是方法,这样你就可以通读这个类,说:“这是组成对象的东西,这是你构建它的方式,构建它之后,你可以用它来做什么。”


也就是说,这完全是主观的。如果在您感兴趣的领域中,另一种布局对您和您的团队有意义,那么请以不同的方式进行。你唯一应该警惕的是确保你的项目在内部是一致的。看到代码样式一类一类地改变是非常令人不快的。

Java编码惯例规定方法(getter和setter都是方法)应该在构造函数声明之后。它只是一种惯例,它的存在是为了使代码更易于阅读

如果您判断在字段之后使用getter//setters比在构造函数之后使用getter//setters更容易阅读代码,您可以自由地执行它


资源:


我认为大多数java ide都允许您查看所属类的“结构”,通常在侧栏中。这使得我们很容易看到可用的方法。这是主观的还是有争议的?我问的是Sun编码惯例背后的原理,而不是人们的个人偏好。网站上有几十个这样的问题。我投票决定重新开放。我不明白为什么这个问题被关闭了——对于许多值得讨论的编码约定,有完全有效的客观原因。我投票决定重新开放,Java的一半问题是人们如何使用它。做一个Java异教徒(只要代码清晰一致)。我知道我可以随意忽略它,我只是好奇为什么一开始就同意它。因为getter和setter只是方法。即使它们的意思是具体的,它们仍然是简单的方法。我怀疑这完全是主观的。孙决定参加大会可能有一个很好的理由,我很好奇它是什么。