Các quy ước đặt tên cho các lớp Java có một phương thức chính tĩnh?


21

Sau khi đọc câu trả lời của gnat về Tại sao một phương thức chính tĩnh trong Java và C #, chứ không phải là một hàm tạo? Tôi lấy câu trả lời của anh ta có nghĩa là mục đích của một lớp Java với một phương thức chính tĩnh là define a program entry pointvà nó không có nghĩa là chính chương trình đó.

Có thể có một cách tốt hơn để làm điều này, nhưng tôi thường có lớp với phương thức chính tĩnh để làm một cái gì đó đơn giản như thế này:

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

Mã ở trên có phải là cách thực hành tốt nhất cho OOP trong đó lớp có tĩnh chính không làm được gì nhiều hơn là khởi chạy hoặc khởi động logic chương trình có trong một đối tượng không tĩnh riêng biệt; sau tất cả chính là tĩnh nên bản thân lớp MenuLauncher có bị giới hạn không? Vì chính là điểm bắt đầu nên tôi không thấy mục đích nào khác cho lớp ngoài mục đích là điểm vào.

Có một quy ước đặt tên Java thường được sử dụng cho các lớp có chứa một phương thức chính và phục vụ mục đích trở thành một điểm vào chương trình không?


1
Tôi thường gọi của tôi Program.
Robert Harvey

1
Tôi gọi nó Mainvà nó thường dài chưa đến 20 dòng (với một chút phân tích ngoại lệ và phân tích tham số).
assylias

5 bài cuối cùng tôi đã viết là Test1, Test2, Test3, Test4 và Test5 :) Đã viết một số bài kiểm tra nhỏ và không muốn dành thời gian nghĩ ra những cái tên mô tả vì dù sao đó cũng là mã bỏ đi.
jwenting

Câu trả lời:


18

Không, không có quy ước đặt tên được sử dụng rộng rãi cho việc này. Ví dụ tôi đã thấy được Main, Application, XLauncherhoặc X, trong đó X là tên của dự án / ứng dụng.

Và vâng, tôi nghĩ rằng lớp này chỉ tốt để chứa logic / mã tối thiểu cần thiết để thiết lập ứng dụng và khởi động nó. Nhưng tôi chắc chắn rằng có rất nhiều Vật thể của ChúaNhững quả bóng bùn lớn ngoài kia với một mainphương pháp được xử lý trên hàng ngàn quái vật.


Tôi biết điều này là một vài năm sau đó nhưng câu cuối cùng của bạn làm tôi ngã khỏi ghế. Cảm ơn bạn đã cười.
user0000001

@ user0000001: không có gì!
Michael Borgwardt

9

Họ được gọi là Lớp chính , dù họ có được gọi là Chính hay không và họ có làm ít hay nhiều.

Họ thường có logic cần thiết để bắt đầu chương trình.

Trong các ứng dụng CLI, chúng thường xác nhận các tham số.

Trong ứng dụng Desktop, họ mở menu chính như của bạn hoặc mở cửa sổ chính.

Nếu bạn đọc các tệp MANIFEST trong tệp jar, bạn sẽ thấy chúng được gọi như vậy.

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.