Konvensi penamaan untuk kelas Java yang memiliki metode utama statis?


21

Setelah membaca jawaban nyamuk untuk Mengapa metode utama statis di Jawa dan C #, daripada konstruktor? Saya mengambil jawabannya dengan maksud bahwa tujuan kelas Java dengan metode utama statis adalah untuk define a program entry pointdan bahwa itu tidak dimaksudkan untuk menjadi program itu sendiri.

Mungkin ada cara yang lebih baik untuk melakukan ini, tetapi saya biasanya memiliki kelas dengan metode utama statis untuk melakukan sesuatu yang sederhana seperti ini:

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

Apakah kode di atas menjadi praktik terbaik untuk OOP di mana kelas dengan main statis tidak melakukan lebih dari meluncurkan atau memulai logika program yang terkandung dalam objek non-statis yang terpisah; setelah semua main adalah statis sehingga bukankah kelas MenuLauncher itu sendiri akan sangat terbatas? Karena main adalah titik awal saya tidak melihat tujuan lain untuk kelas selain sebagai titik masuk.

Apakah ada konvensi penamaan Java yang biasa digunakan untuk kelas yang berisi metode utama dan melayani tujuan sebagai titik masuk program?


1
Saya biasanya memanggil saya Program.
Robert Harvey

1
Saya menyebutnya Maindan umumnya panjangnya kurang dari 20 baris (dengan sedikit pengecualian tangkapan dan parameter parsing).
assylias

5 yang terakhir saya tulis adalah Test1, Test2, Test3, Test4, dan Test5 :) Sedang menulis beberapa tes kecil dan tidak ingin menghabiskan waktu memikirkan nama-nama deskriptif karena itu adalah kode sekali pakai.
jwenting

Jawaban:


18

Tidak, tidak ada konvensi penamaan yang banyak digunakan untuk ini. Contoh saya lihat adalah Main, Application, XLauncheratau X, di mana X adalah nama proyek / aplikasi.

Dan ya, saya pikir itu baik untuk kelas ini hanya mengandung logika / kode minimum yang diperlukan untuk mengatur aplikasi dan memulainya. Tapi saya yakin ada banyak Object Dewa dan Balls of Mud besar di luar sana dengan mainmetode yang ditempelkan ke multi ribu baris monstrositas.


Aku tahu ini adalah beberapa tahun kemudian tapi kalimat terakhir Anda membuat saya jatuh dari kursi saya. Terima kasih atas tawa
user0000001

@ user0000001: sama-sama
Michael Borgwardt

9

Mereka disebut Main-Class , apakah mereka disebut Main atau tidak dan mereka melakukan sedikit atau banyak.

Mereka biasanya memiliki logika yang diperlukan untuk memulai program ini.

Di aplikasi CLI mereka biasanya memvalidasi parameter.

Di Desktop app mereka membuka menu utama seperti Anda atau membuka jendela utama.

Jika Anda membaca file yang nyata dalam file jar, Anda akan menemukan mereka disebut itu.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.