¿Convenciones de nomenclatura para clases Java que tienen un método principal estático?


21

Después de leer la respuesta de gnat a ¿Por qué un método principal estático en Java y C #, en lugar de un constructor? Supongo que su respuesta significa que el propósito de una clase Java con un método principal estático es define a program entry pointy que no está destinado a ser el programa en sí.

Puede haber una mejor manera de hacer esto, pero generalmente tengo la clase con el método principal estático para hacer algo simple como esto:

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

¿Sería el código anterior la mejor práctica para OOP donde la clase con main estático no hace mucho más que iniciar o iniciar la lógica del programa contenida dentro de un objeto no estático separado; después de todo, main es estático, ¿no sería la clase MenuLauncher en sí muy limitada? Como main es un punto de partida, no veo otro propósito para la clase que no sea un punto de entrada.

¿Existe una convención de nomenclatura de Java comúnmente utilizada para las clases que contienen un método principal y tienen el propósito de ser un punto de entrada al programa?


1
Yo suelo llamar a la mía Program.
Robert Harvey

1
Lo llamo Mainy generalmente tiene menos de 20 líneas de largo (con un poco de captura de excepciones y análisis de parámetros).
Assylias

los últimos 5 que escribí fueron Test1, Test2, Test3, Test4 y Test5 :) Estaba escribiendo algunas pruebas pequeñas y no quería perder el tiempo pensando nombres descriptivos, ya que de todos modos era un código desechable.
Jwenting

Respuestas:


18

No, no hay convenciones de nomenclatura ampliamente utilizadas para esto. Los ejemplos que he visto son Main, Application, XLaunchero X, donde X es el nombre del proyecto / aplicación.

Y sí, creo que es bueno que esta clase contenga solo la lógica / código mínimo necesario para configurar la aplicación e iniciarla. Pero estoy seguro de que hay muchos God Objects y Big Balls of Mud con un mainmétodo agregado a una monstruosidad de miles de líneas.


Sé que esto es unos años más tarde, pero tu última oración me hizo caer de mi silla. Gracias por la risa
user0000001

@ user0000001: ¡de nada!
Michael Borgwardt

9

Se les llama la clase principal , se llamen o no principales y hagan o no poco o mucho.

Suelen tener la lógica necesaria para iniciar el programa.

En las aplicaciones CLI, generalmente validan los parámetros.

En la aplicación de escritorio, abren el menú principal como el suyo o abren la ventana principal.

Si lee los archivos MANIFEST en un archivo jar, encontrará que se llaman así.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.