Соглашения об именах для классов Java, которые имеют статический метод main?


21

После прочтения ответа комара на Почему статический основной метод в Java и C #, а не конструктор? Я полагаю, что его ответ означает, что цель Java-класса со статическим основным методом заключается в define a program entry pointтом, что он не предназначен для самой программы.

Возможно, есть лучший способ сделать это, но у меня обычно есть класс со статическим основным методом, чтобы сделать что-то простое, как это:

public class MenuLauncher
{
    public static void main(String[] args) {
        Menu menu = new Menu();
        menu.run();
    }
}

Будет ли приведенный выше код лучшей практикой для ООП, где класс со статическим main не делает намного больше, чем запускает или запускает программную логику, содержащуюся в отдельном нестатическом объекте; В конце концов, main является статическим, поэтому не будет ли сам класс MenuLauncher быть очень ограниченным? Поскольку main является отправной точкой, я не вижу никакой другой цели для класса, кроме как быть точкой входа.

Существует ли соглашение об именах Java, обычно используемое для классов, которые содержат метод main и служат целью входа в программу?


1
Я обычно называю мой Program.
Роберт Харви

1
Я называю это, Mainи это обычно меньше, чем 20 строк (с небольшим количеством перехвата исключений и разбора параметров).
assylias

последние 5, которые я написал, были Test1, Test2, Test3, Test4 и Test5 :) Писал несколько небольших тестов и не хотел тратить время на обдумывание описательных имен, так как это все равно был одноразовый код.
13:00

Ответы:


18

Нет, для этого не существует широко используемых соглашений об именах. Примеры , которые я видел это Main, Application, XLauncherили X, где X это имя проекта / приложения.

И да, я думаю, что для этого класса полезно содержать только минимальную логику / код, необходимый для настройки приложения и его запуска. Но я уверен, что есть много Божественных Объектов и Больших Шаров Грязи с mainметодом, привязанным к многотысячному чудовищу линии.


Я знаю, что это несколько лет спустя, но твое последнее предложение заставило меня упасть со стула. Спасибо за смех.
user0000001

@ user0000001: пожалуйста!
Майкл Боргвардт

9

Их называют Главным Классом , независимо от того, называют ли они Главными и делают ли они мало или много.

У них обычно есть логика, необходимая для запуска программы.

В приложениях CLI они обычно проверяют параметры.

В приложении Desktop они открывают главное меню, как у вас, или открывают главное окно.

Если вы прочитаете файлы MANIFEST в jar-файле, вы обнаружите, что они называются так.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.