当前位置: 首页 > 面试题库 >

Java Main方法,良好的编码样式

况景龙
2023-03-14
问题内容

已关闭 。这个问题是基于观点的。它当前不接受答案。

想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。

4年前关闭。

改善这个问题

我已经和我的一个朋友进行了很长的讨论,关于Java主方法的正确和正确使用。基本上我们有一个这样的类:

public class AnImporter implements Runnable {
  // some methods, attributes, etc.
}

但是主要方法放在哪里?我认为“保留代码所属的位置”是一种好习惯,因此可以将上面的代码转换为

public class AnImporter implements Runnable {
  public static void main(String [] args){
    // Startup code for Importer App here
  }
  // some methods, attributes, etc.
}

虽然我的伙伴认为“启动代码与应用程序本身无关”,但是应该将其放在另一个类中,如下所示:

public class AnImporter implements Runnable {
  // some methods, attributes, etc.
}

public class AnApplication {
  // Nothing here
  public static void main(String [] args){
    AnImporter a = new AnImporter();
    // Startup code here
  }
  // Nothing here
}

尽管我们讨论了一段时间,但最终都没有结论,哪种方法是Java中更好的方法。您对此主题有何看法?最重要的是,为什么将主要方法放在哪里?


问题答案:

我同意你的朋友。您正在AnImporter中建立潜在可重用的服务,该服务可能会在具有多个主程序的多个程序中使用。因此,制作一个主要的特殊内容并将其嵌入AnImporter并没有多大意义。



 类似资料:
  • 目标 遵循类大小、方法大小和方法名称的最佳实践 了解重构的重要性 保持一致的编码风格和注释用法 使用内置记录功能 最佳编码实践 您现在已经学习了本学习路径的一半内容,已经掌握了足够多的 Java 语法来编写基本 Java 程序。在继续学习更高级的主题之前,目前是一个了解一些最佳编码实践的不错时机。阅读一些可帮助您编写更干净、更可维护的 Java 代码的必要建议。 保持类小巧 目前您已经创建了一些类

  • 我认为,错误消息与无关,而是因为代码/程序集/包特定的结构/修饰符等。 因此,当导航(通过命令)到元数据并很好地编译代码(包括,也成功地显示方法说明)时,会显示错误(并且无法访问(来自引用的程序集的)代码)。 该方法在程序集中定义如下: 有什么想法吗?

  • 我的大部分编程经验都是用C++编写的。我正在学习Javafx中的许多优秀特性,但到目前为止,我最大的障碍是在用Javafx编写应用程序时是否使用了良好的编程实践。首先,我被教导要在C++中保持“main函数”尽可能干净,所以它主要包含我自己的类对象及其方法。在外汇工作时,这是一般的好做法吗?即在包含start方法的主类之外创建一些类,然后将这些类的对象添加到start方法中?这里有一个例子: 这个

  • 问题内容: 过去,我使用以下方法读取大量代码: 这样做是惯例吗? 优点和缺点是什么? 在我看来,这就像完成异常的“ Agent Orange”方式 编辑 处理方法中的预期异常 引发意外异常(一对一) 不在乎错误 那是路要走吗? 问题答案: 你不应该扔。这就是为什么。 Throwable是可抛出的事物层次结构的顶部,由and组成。由于根据定义是由不可挽救的条件引起的,因此将它们包括在方法声明中是没有

  • 在我的应用程序中,我有很多GET、POST、PUT请求。现在,我有一个单独的类来保存我下载的数据,并有许多扩展AsyncTask的内部类。在我的singleton类中,我也有一些这样的接口: 这种模式(很多扩展AsyncTask的内部类)有问题吗?如果每个HTTP调用只有一个内部类(1个用于GET,1个用于POST,...)?如果是,如何决定在得到请求后做什么?

  • 问题内容: 我已经为JDBC连接编写了一个简单的包装程序,它可以工作,但是我想通过最佳实践来对其进行改进。它基本上有类似的方法,,,,,,和。为简单起见,我仅在此处发布前4种方法。 笔记: 可以重复使用同一查询对象,例如打开和关闭它,以及在再次打开之后。 我不是关闭每个查询的连接,而是关闭准备好的语句(这是正确的,或者我可以让准备好的语句保持打开状态,因为Connection对象会关闭它吗?) 当