Namenskonventionen für Java-Klassen mit einer statischen Hauptmethode?

21

Nach dem Lesen der Antwort von gnat auf Warum eine statische Hauptmethode in Java und C # anstelle eines Konstruktors? Unter seiner Antwort verstehe ich, dass der Zweck einer Java-Klasse mit einer statischen Hauptmethode darin besteht, define a program entry pointund dass es nicht das Programm selbst sein soll.

Es gibt vielleicht einen besseren Weg, dies zu tun, aber ich habe normalerweise die Klasse mit der statischen Hauptmethode, um etwas Einfaches wie das Folgende zu tun:

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

Wäre der obige Code die beste Vorgehensweise für OOP, bei der die Klasse mit der statischen Hauptfunktion nicht viel mehr tut als die Programmlogik zu starten oder zu starten, die in einem separaten nicht statischen Objekt enthalten ist? Immerhin ist main statisch. Wäre die MenuLauncher-Klasse selbst also nicht sehr eingeschränkt? Da main ein Ausgangspunkt ist, sehe ich keinen anderen Zweck für die Klasse als einen Einstiegspunkt.

Gibt es eine Java-Namenskonvention, die häufig für Klassen verwendet wird, die eine Hauptmethode enthalten und als Programmeinstiegspunkt dienen?

Korey Hinton
quelle
1
Normalerweise rufe ich meins an Program.
Robert Harvey
1
Ich nenne es Mainund es ist im Allgemeinen weniger als 20 Zeilen lang (mit ein bisschen Ausnahmefang und Parameteranalyse).
Assylias
Die letzten 5, die ich geschrieben habe, waren Test1, Test2, Test3, Test4 und Test5 :) Ich habe einige kleine Tests geschrieben und wollte keine Zeit damit verbringen, beschreibende Namen auszudenken, da es sowieso Wegwerfcode war.
Jwenting

Antworten:

18

Nein, dafür gibt es keine weit verbreiteten Namenskonventionen. Beispiele I gesehen haben , sind Main, Application, XLauncheroderX , wobei X der Name des Projekts / Anwendung.

Und ja, ich denke, es ist gut, dass diese Klasse nur die minimale Logik / den minimalen Code enthält, die zum Einrichten und Starten der Anwendung erforderlich sind. Aber ich bin mir sicher, dass es eine Menge Gottesobjekte und große Schlammkugeln gibt, deren mainMethode auf einer Monstrosität von mehreren tausend Linien basiert.

Michael Borgwardt
quelle
Ich weiß, das ist ein paar Jahre später, aber dein letzter Satz hat mich von meinem Stuhl fallen lassen. Danke für das Lachen.
user0000001
@ user0000001: Gern geschehen!
Michael Borgwardt
9

Sie werden die Hauptklasse genannt , egal ob sie Main genannt werden oder nicht und ob sie wenig oder viel tun oder nicht.

Sie verfügen normalerweise über die zum Starten des Programms erforderliche Logik.

In CLI-Apps validieren sie normalerweise Parameter.

In der Desktop-App öffnen sie das Hauptmenü oder das Hauptfenster.

Wenn Sie die MANIFEST-Dateien in einer JAR-Datei lesen, werden Sie feststellen, dass sie so heißen.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
Tulains Córdova
quelle