ข้อกำหนดการตั้งชื่อสำหรับคลาส Java ที่มีเมธอด main static หรือไม่?


21

หลังจากอ่านคำตอบของ gnatไปที่ทำไมวิธีหลักแบบคงที่ใน Java และ C # แทนที่จะเป็นตัวสร้าง? ฉันใช้คำตอบของเขาเพื่อหมายความว่าจุดประสงค์ของคลาส Java ที่มีเมธอด main static คือเพื่อdefine a program entry pointและไม่ได้หมายความว่าเป็นโปรแกรมเอง

อาจมีวิธีที่ดีกว่าในการทำเช่นนี้ แต่ฉันมักจะมีชั้นเรียนที่มีวิธีหลักแบบคงที่เพื่อทำสิ่งที่ง่ายเช่นนี้

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

โค้ดด้านบนจะเป็นแนวปฏิบัติที่ดีที่สุดสำหรับ OOP หรือไม่หากคลาสที่มีสแตติกหลักไม่ได้ทำอะไรมากไปกว่าการเริ่มต้นหรือเริ่มโปรแกรมตรรกะภายในวัตถุที่ไม่คงที่แยกต่างหาก หลังจากทั้งหมดหลักเป็นแบบคงที่ดังนั้นชั้น MenuLauncher จะไม่ถูก จำกัด มาก? เนื่องจาก main เป็นจุดเริ่มต้นฉันไม่เห็นจุดประสงค์อื่นใดสำหรับชั้นเรียนอื่นที่ไม่ใช่จุดเข้า

มีแบบแผนการตั้งชื่อ Java ที่ใช้กันทั่วไปสำหรับคลาสที่มีวิธีการหลักและทำหน้าที่เป็นจุดเริ่มต้นของโปรแกรมหรือไม่?


1
ฉันมักจะเรียกฉันProgramว่า
Robert Harvey

1
ฉันเรียกมันว่าMainและโดยทั่วไปจะมีความยาวน้อยกว่า 20 บรรทัด (โดยมีข้อยกเว้นเล็กน้อยและการแยกพารามิเตอร์)
assylias

5 ล่าสุดที่ฉันเขียนคือ Test1, Test2, Test3, Test4 และ Test5 :) กำลังเขียนการทดสอบขนาดเล็กและไม่ต้องการใช้เวลาคิดชื่อที่เป็นคำอธิบายเพราะมันเป็นรหัสที่อนุญาต
jwenting

คำตอบ:


18

ไม่ไม่มีการตั้งชื่อแบบแผนที่ใช้กันอย่างแพร่หลายในเรื่องนี้ ตัวอย่างที่ฉันได้เห็นเป็นMain, Application, XLauncherหรือXที่ X คือชื่อของโครงการ / แอพลิเคชัน

และใช่ฉันคิดว่าเป็นการดีที่คลาสนี้จะมีเพียงลอจิก / รหัสขั้นต่ำที่จำเป็นในการตั้งค่าแอปพลิเคชันและเริ่มต้นเท่านั้น แต่ฉันแน่ใจว่ามีวัตถุของพระเจ้ามากมายและโคลนก้อนโตขนาดใหญ่ออกมาที่นั่นพร้อมกับmainวิธีการที่ติดอยู่บนความโหดร้ายหลายพันเส้น


ฉันรู้ว่านี่คือไม่กี่ปีต่อมา แต่ประโยคสุดท้ายของคุณทำให้ฉันตกจากเก้าอี้ของฉัน ขอบคุณสำหรับเสียงหัวเราะ
user0000001

@ user0000001: ยินดีต้อนรับ!
Michael Borgwardt

9

พวกเขาถูกเรียกว่าระดับหลักไม่ว่าพวกเขาจะเรียกว่าหลักและไม่ว่าพวกเขาจะทำน้อยหรือมาก

พวกเขามักจะมีตรรกะที่จำเป็นสำหรับการเริ่มต้นโปรแกรม

ในแอป CLI พวกเขามักจะตรวจสอบพารามิเตอร์

ในแอปเดสก์ท็อปพวกเขาเปิดเมนูหลักเช่นคุณหรือเปิดหน้าต่างหลัก

หากคุณอ่านไฟล์ MANIFEST ในไฟล์ jar คุณจะพบว่าไฟล์นั้นเรียกว่า

Manifest-Version: 1.0
Created-By: xxx
Built-By: xxx
Build-Jdk: 1.6.0_04
Main-Class: myPackage.MenuLauncher
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.