Konwencje nazewnictwa dla klas Java, które mają statyczną metodę główną?


21

Po przeczytaniu odpowiedzi gnat jest do Dlaczego statyczną metodą Głównym w Java i C #, a nie konstruktor? Uważam, że jego odpowiedź oznacza, że ​​celem klasy Java ze statyczną metodą główną jest to, define a program entry pointże nie jest to sam program.

Może być lepszy sposób, aby to zrobić, ale zazwyczaj mam klasę ze statyczną metodą główną, aby wykonać coś takiego prostego:

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

Czy powyższy kod byłby najlepszą praktyką dla OOP, gdzie klasa ze statycznym main nie robi nic więcej niż logikę programu uruchomioną lub uruchomioną zawartą w oddzielnym niestatycznym obiekcie; przecież main jest statyczna, więc czy sama klasa MenuLauncher nie byłaby bardzo ograniczona? Ponieważ main jest punktem wyjścia, nie widzę żadnego innego celu dla klasy poza byciem punktem wejścia.

Czy istnieje konwencja nazewnictwa Java powszechnie stosowana dla klas, które zawierają główną metodę i służą jako punkt wejścia programu?


1
Zwykle dzwonię do mnie Program.
Robert Harvey,

1
Nazywam to Maini zwykle ma mniej niż 20 linii (z odrobiną wyjątków i analizowania parametrów).
assylias,

ostatnie 5, które napisałem, to Test1, Test2, Test3, Test4 i Test5 :) Pisałem kilka drobnych testów i nie chciałem tracić czasu na wymyślanie opisowych nazw, ponieważ i tak był to niepotrzebny kod.
jwenting

Odpowiedzi:


18

Nie, nie ma w tym celu powszechnie używanych konwencji nazewnictwa. Przykłady widziałem to Main, Application, XLauncherlub X, gdzie X to nazwa projektu / aplikacji.

I tak, myślę, że dobrze jest, aby ta klasa zawierała tylko minimalną logikę / kod niezbędny do skonfigurowania aplikacji i uruchomienia jej. Ale jestem pewien, że istnieje wiele Boskich Przedmiotów i Dużych Kul Błota z mainmetodą przyczepioną do wielotysięcznej potworności.


Wiem, że to kilka lat później, ale twoje ostatnie zdanie sprawiło, że spadłem z krzesła. Dziękuję za śmiech.
user0000001

@ user0000001: nie ma za co!
Michael Borgwardt

9

Nazywani są Klasą Główną , niezależnie od tego, czy są nazywani Głównymi i czy robią niewiele, czy nie.

Zwykle mają logikę wymaganą do uruchomienia programu.

W aplikacjach CLI zwykle sprawdzają poprawność parametrów.

W aplikacji komputerowej otwierają menu główne, takie jak twoje, lub otwierają okno główne.

Jeśli czytasz pliki MANIFEST w pliku jar, okazuje się, że są one tak nazywane.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.