Conventions de dénomination pour les classes Java qui ont une méthode principale statique?

21

Après avoir lu la réponse de gnat à Pourquoi une méthode principale statique en Java et C #, plutôt qu'un constructeur? Je suppose que sa réponse signifie que le but d'une classe Java avec une méthode principale statique est de define a program entry pointet qu'elle n'est pas censée être le programme lui-même.

Il peut y avoir une meilleure façon de le faire, mais j'ai généralement la classe avec la méthode principale statique pour faire quelque chose de simple comme ceci:

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

Le code ci-dessus serait-il la meilleure pratique pour la POO où la classe avec statique principal ne fait pas beaucoup plus que lancer ou démarrer la logique du programme contenue dans un objet non statique séparé; après tout, le principal est statique, la classe MenuLauncher elle-même ne serait-elle pas très limitée? Puisque main est un point de départ, je ne vois pas d'autre but pour la classe que d'être un point d'entrée.

Existe-t-il une convention de dénomination Java couramment utilisée pour les classes qui contiennent une méthode principale et servent à être un point d'entrée de programme?

Korey Hinton
la source
1
J'appelle habituellement le mien Program.
Robert Harvey
1
Je l'appelle Mainet c'est généralement moins de 20 lignes de long (avec un peu de capture d'exception et d'analyse de paramètres).
assylias
les 5 derniers que j'ai écrits étaient Test1, Test2, Test3, Test4 et Test5 :) J'écrivais de petits tests et je ne voulais pas passer du temps à trouver des noms descriptifs car c'était du code jetable de toute façon.
jwenting

Réponses:

18

Non, il n'y a pas de convention de nommage largement utilisée pour cela. Les exemples que j'ai vu sont Main, Application, XLauncherou X, où X est le nom du projet / application.

Et oui, je pense qu'il est bon que cette classe ne contienne que le minimum de logique / code nécessaire pour configurer l'application et la démarrer. Mais je suis sûr qu'il y a beaucoup d' objets divins et de grosses boules de boue avec une mainméthode clouée sur une monstruosité de plusieurs milliers de lignes.

Michael Borgwardt
la source
Je sais que c'est quelques années plus tard mais ta dernière phrase m'a fait tomber de ma chaise. Merci pour la rigolade.
user0000001
@ user0000001: vous êtes les bienvenus!
Michael Borgwardt
9

Ils sont appelés la classe principale , qu'ils s'appellent ou non Main et qu'ils fassent peu ou pas.

Ils ont généralement la logique requise pour démarrer le programme.

Dans les applications CLI, ils valident généralement les paramètres.

Dans l'application Desktop, ils ouvrent le menu principal comme le vôtre ou ouvrent la fenêtre principale.

Si vous lisez les fichiers MANIFEST dans un fichier jar, vous constaterez qu'ils s'appellent ainsi.

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