Tag: 约定

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

我对开发人员的数量感到有点困惑,我看到在类名或方法下面用花括号编写方法和类。 他们遵循什么惯例? 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) { …. } } 而且我知道一个会议只是一个惯例,只要你遵循一个惯例,一切都很好。 我只是在寻找后一声明遵循什么惯例的答案?

关于静态方法的Java编码约定

这是一个非常简单的问题,但我认为这有点争议。 当我编写Java类时,我使用以下顺序。 class Foo { // static fields // instance fields // constructors // methods (non-static and static methods are mixed but sorted based on their functionalities) } 我读了一篇文章说: (来自http://code.google.com/webtoolkit/makinggwtbetter.html#codestyle ) Java类型应具有以下成员顺序: 嵌套类型(混合内部和静态类是可以的) 静态字段 静态初始化器 静态方法 实例字段 实例初始化器 构造函数 实例方法 如果我按照文章,上面的顺序应该是 class Foo { // static fields // static methods // instance fields // constructors […]

Java中的String args有什么意义?

每当在类中声明main方法时,总是必须执行一个名为“args”的String数组。 重点是什么? 除非我生活在摇滚之下,Java中的命令行agruments几乎不再使用。 当我试着跑这个…… //this program won’t compile public class SomeClass { public static void main(){ System.out.println(“This text will never be displayed :(“); } } 输出以红色文本显示: 错误:在SomeClass类中找不到主要方法,请将main方法定义为: public static void main(String [] args) 我,新手Java程序员,如果有人告诉我为什么需要将该参数输入main方法,我将非常感激。

Java约定中的getter和setter

我的Java有点生疏(过去几年一直在做C#)。 我也希望这不是一个非常主观的问题。 无论如何说我有class级Person (是的,有点陈词滥调,我知道),没有行为(C#版本): public class Person { public string Name { get; set; } public int Age { get; set; } // say 10+ properties } 等效的Java版本将如何? 我知道我可以写一堆getter和setter(但是说我有10多个属性),感觉就像很多样板。 这样做是不好的做法: public class Person { public String name; public int age; // rest of the stuff here } 我对此感到有点不安。 我意识到没有“正确答案”但是,我对一般惯例和最佳实践更感兴趣。

在C ++中设置/获取方法

Java程序员和API似乎更喜欢显式的set / get方法。 但是我得到了C ++社区对这种做法不满的印象。 如果是这样,是否有一个特殊的原因(除了更多的代码行)为什么会这样? 另一方面,为什么Java社区选择使用方法而不是直接访问? 谢谢

Javabean约定 – 属性gId的方法命名

如果我的Java类中有一个属性’gId’,那么访问器方法应该被命名为什么? getGId是我的假设。 如果有一个属性gURL我认为它将是getGURL ,哪种看起来很难看(虽然不是指女孩的替代拼写)。 如果属性只是url ,方法名称getUrl在眼睛上是好的,是的,我不会首先将属性命名为URL,这将使访问者再次丑陋 – getURL 我记得从Javabean规范PDF中读取有关属性大写的内容以及涉及首字母缩写词的案例,但不能再在PDF中找到它。 有没有人提到它或请确认我说的是对的?

Java编码标准/最佳实践 – 中断/继续标签的命名约定

有时标记的中断或继续可以使代码更具可读性。 OUTERLOOP: for ( ;/*stuff*/; ) { //…lots of code if ( isEnough() ) break OUTERLOOP; //…more code } 我想知道标签的常见惯例是什么。 全部大写? 第一个上限?

Java数组约定:String args与String args

我目前正在教学生作为导师编程惯例。 我告诉他们,他们可以在Oracle Code Conventions中找到大多数约定。 在我上一篇教程中,一名学生询问: public static void main(String args[]) 要么 public static void main(String[] args) 是按惯例书写的,或者是否存在差异。 我之前从未见过第一个版本,所以我非常确定第二个版本是一个约定。 但我没有这个来源。 你能给我一个来源(最好是来自oracle,就像我上面链接过的页面一样),这清楚地说明了哪一个是常规的? 两种表达方式的等价性 我知道两个表达式都是等价的: JLS 7 ,p。 292州: An array type is written as the name of an element type followed by some number of empty pairs of square brackets []. 而且还在p。 293: The [] may appear […]

代码行换行 – 如何处理长行

我面对的是一个长度为153个字符的特定行。 现在,我倾向于在120个字符之后破坏事物(当然,这在很大程度上依赖于我和当地的惯例。)但说实话,无论我在哪里打破线条都会让它看起来很糟糕。 所以我正在寻找一些关于我应该为此做些什么的想法。 这是一行: private static final Map<Class, PersistentHelper> class2helper = new HashMap<Class, PersistentHelper>(); 我对这两个关于如何/在哪里打破界限(及其原因)的想法以及缩短生产线本身的方法持开放态度。 我们不是一个Java商店,并没有针对此类事情的本地约定,或者显然我只是遵循它们。 谢谢!