Rumah  >  Artikel  >  Java  >  Apakah gaya penamaan Java, definisi malar dan format kod?

Apakah gaya penamaan Java, definisi malar dan format kod?

王林
王林ke hadapan
2023-04-25 14:28:06780semak imbas

Gaya penamaan

1 [Wajib] Nama dalam kod tidak boleh bermula dengan garis bawah atau tanda dolar, dan juga tidak boleh diakhiri dengan garis bawah atau tanda dolar.

Contoh kaunter: _name / __name / $name / name_ / name$ / name__

2. [Wajib] Dilarang sama sekali menggunakan campuran Pinyin dan Bahasa Inggeris untuk menamakan dalam kod , dan penggunaan terus bahasa Cina tidak dibenarkan.

Nota: Ejaan dan tatabahasa Inggeris yang betul boleh memudahkan pembaca memahami dan mengelakkan kekaburan. Ambil perhatian bahawa penamaan pinyin tulen harus dielakkan.

Contoh yang betul: renminbi / alibaba / taobao / youku / hangzhou dan nama umum antarabangsa yang lain boleh dianggap sama seperti bahasa Inggeris.

Contoh Balas: DaZhePromotion [Diskaun] / getPingfenByName() [Rating] / int Pembolehubah tertentu = 3

3 [Mandatori] Nama kelas menggunakan gaya UpperCamelCase, tetapi Pengecualian berikut: DO/BO/DTO/VO/AO/PO/UID, dsb.

Contoh positif: JavaServerlessPlatform / UserDO / >】Nama kaedah, nama parameter, pembolehubah ahli dan pembolehubah tempatan semuanya menggunakan gaya lowerCamelCase dan mesti mengikut kes unta.

Contoh positif: localValue / getHttpMessage() / inputUserId

5 [Wajib] Nama tetap hendaklah semuanya menggunakan huruf besar dan perkataan hendaklah dipisahkan dengan garis bawah untuk memastikan lengkap. dan ungkapan semantik yang jelas, jangan fikir nama itu terlalu panjang.

Contoh positif: MAX_STOCK_COUNT / CACHE_EXPIRED_TIME

Contoh pembilang: MAX_COUNT / EXPIRED_TIME6. exception Nama kelas berakhir dengan Exception nama kelas ujian bermula dengan nama kelas yang hendak diuji dan berakhir dengan Test.

7. Jenis [

wajib

] berkait rapat dengan kurungan segi empat sama untuk mewakili tatasusunan.

Contoh positif: tentukan tatasusunan integer int[] arrayDemo;Contoh balas: gunakan String args[] untuk mentakrifkan dalam parameter utama.

8 [Wajib] Jangan awalan pembolehubah jenis Boolean dalam kelas POJO dengan is, jika tidak, beberapa penghuraian rangka kerja akan menyebabkan ralat bersiri.

Nota: Dalam perjanjian penciptaan jadual pertama dalam spesifikasi MySQL dalam artikel ini, nilai yang menyatakan ya atau tidak menggunakan kaedah penamaan is_xxx Oleh itu, hubungan pemetaan dari is_xxx kepada xxx perlu ditetapkan dalam < ;resultMap>.

Contoh balas: Atribut yang ditakrifkan sebagai jenis data asas Boolean isDeleted, dan kaedahnya juga isDeleted(). Apabila rangka kerja RPC melakukan penghuraian terbalik, ia "tersilap" bahawa nama atribut yang sepadan dipadamkan, mengakibatkan dalam kegagalan untuk mendapatkan atribut kepada, dan pengecualian dibuang.

9. [Wajib] Nama pakej mestilah huruf kecil, dan mesti ada satu dan hanya satu perkataan Inggeris dengan semantik semula jadi antara pemisah titik. Nama pakej sentiasa menggunakan bentuk tunggal, tetapi jika nama kelas mempunyai makna jamak, nama kelas boleh menggunakan bentuk jamak.

Contoh positif: Nama pakej kelas alat aplikasi ialah com.alibaba.ai.util, dan nama kelas ialah MessageUtils (peraturan ini merujuk kepada struktur rangka kerja spring)

10 🎜>Wajib

】Elakkan menggunakan nama yang betul-betul sama antara pembolehubah ahli kelas anak dan induk, atau antara pembolehubah tempatan dalam blok kod yang berbeza, yang akan mengurangkan kebolehbacaan.

Nota: Nama pembolehubah ahli subkelas dan kelas induk adalah sama Malah pembolehubah jenis awam juga boleh dikompilkan untuk pembolehubah tempatan mempunyai nama yang sama dalam blok kod yang berbeza dalam kaedah yang sama , tetapi elakkan menggunakannya. Untuk nama parameter bukan penetap/pengambil, elakkan daripada menjadi sama dengan nama pembolehubah ahli.

Contoh pembilang:

ConfusingName kelas awam { public int age; // Nama parameter bukan penetap/pengambil tidak dibenarkan mempunyai nama yang sama dengan pembolehubah ahli kelas ini public void getData( String alibaba) { if( condition) { final int money = 531; // ... } for (int i = 0; i < 10; i++) { // Dalam badan kaedah yang sama, nama yang sama dengan wang dalam blok kod lain tidak dibenarkan wang int akhir = 615; // ... } } } kelas Son melanjutkan ConfusingName { // Nama pembolehubah ahli yang sama dengan kelas induk tidak dibenarkan umur int awam; 11. [

Wajib】Tamatkan singkatan yang tidak teratur sama sekali untuk mengelakkan salah faham maksud teks.

Contoh balas: "Singkatan" AbstractClass dinamakan AbsClass; "singkatan" syarat dinamakan condi secara serius mengurangkan kebolehbacaan kod.

12 [

Disyorkan

] Untuk mencapai matlamat penjelasan sendiri kod, apabila menamakan mana-mana elemen pengaturcaraan tersuai, gunakan gabungan perkataan selengkap mungkin untuk menyatakannya maksudnya.

Contoh positif: Dalam JDK, nama kelas yang menyatakan kemas kini atom ialah: AtomicReferenceFieldUpdater.

Contoh balas: penamaan sewenang-wenangnya int a.

13. [

Disyorkan

] Apabila menamakan pemalar dan pembolehubah, letakkan kata nama yang menunjukkan jenis di hujung perkataan untuk meningkatkan pengecaman.

Contoh positif: startTime/workQueue/nameList/TERMINATED_THREAD_COUNT

Contoh Balas: startedAt/QueueOfWork/listName/COUNT_TERMINATED_THREAD

14. [Disyorkan] Jika modul, antara muka, kelas dan kaedah menggunakan corak reka bentuk, corak tertentu mesti ditunjukkan dalam penamaan.

Penjelasan: Mencerminkan corak reka bentuk dalam nama akan membantu pembaca memahami konsep reka bentuk seni bina dengan cepat.

Contoh positif:

OrderFactory kelas awam; Proksi Masuk kelas awam;

15 [Disyorkan] Kaedah dalam kelas antara muka dan Do tidak menambah sebarang pengubah suai pada sifat (atau awam), pastikan kod itu ringkas dan tambahkan ulasan Javadoc yang sah. Cuba untuk tidak menentukan pembolehubah dalam antara muka Jika anda mesti menentukan pembolehubah, ia mesti berkaitan dengan kaedah antara muka dan merupakan pemalar asas untuk keseluruhan aplikasi.

Contoh positif: kaedah antara muka tandatangan void commit(); antara muka pemalar asas String SYARIKAT = "alibaba";

Contoh kaunter: definisi kaedah antara muka abstrak awam void f();

Penjelasan: Antara muka dalam JDK8 membenarkan pelaksanaan lalai, jadi kaedah lalai ini ialah pelaksanaan lalai yang berharga untuk semua kelas pelaksanaan.

16 Terdapat dua set peraturan untuk menamakan antara muka dan kelas pelaksanaan:

1) [Mandatori] Untuk kelas Perkhidmatan dan DAO, berdasarkan konsep SOA. , terdedah Perkhidmatan mestilah antara muka dan kelas pelaksanaan dalaman dibezakan daripada antara muka dengan akhiran

Impl.

Contoh positif: CacheServiceImpl melaksanakan antara muka CacheService.

2) [Disyorkan] Jika nama antara muka yang menerangkan keupayaan, gunakan kata adjektif yang sepadan sebagai nama antara muka (biasanya kata sifat –boleh).

Contoh positif: Penterjemah Abstrak melaksanakan antara muka Boleh Diterjemah.

17. [Rujukan] Nama kelas penghitungan mempunyai akhiran Enum Nama ahli penghitungan perlu dalam semua huruf besar dan dipisahkan dengan garis bawah.

Penjelasan: Penghitungan sebenarnya adalah kelas khas Ahli domain semuanya pemalar, dan pembina dipaksa untuk menjadi peribadi secara lalai.

Contoh positif: Nama ahli penghitungan bernama ProcessStatusEnum: SUCCESS / UNKNOWN_REASON.

18. [Rujukan] Konvensyen penamaan setiap lapisan:

A) Konvensyen penamaan kaedah lapisan Perkhidmatan/DAO

1) Kaedah untuk mendapatkan objek tunggal Gunakan dapatkan sebagai awalan.

2) Kaedah untuk mendapatkan berbilang objek diawali dengan senarai, dan bentuk jamak berakhir dengan: listObjects.

3) Kaedah mendapatkan nilai statistik didahulukan dengan kiraan.

4) Kaedah sisipan diawali dengan simpan/sisipkan.

5) Kaedah pemadaman diawali dengan keluarkan/padam.

6) Kaedah pengubahsuaian diawali dengan kemas kini.

B) Konvensyen penamaan model domain

1) Objek data: xxxDO, xxx ialah nama jadual data.

2) Objek pemindahan data: xxxDTO, xxx ialah nama yang berkaitan dengan medan perniagaan.

3) Objek paparan: xxxVO, xxx secara amnya ialah nama halaman web.

4) POJO ialah nama kolektif DO/DTO/BO/VO, dan dilarang menamakannya sebagai xxxPOJO.

Takrifan malar

1 [Mandatori] tidak membenarkan sebarang nilai ajaib (iaitu pemalar yang tidak ditakrifkan) muncul secara langsung. dalam kod.

Contoh pembilang:

Kunci rentetan = "Id#taobao_" + tradeId;cache.put(kunci, nilai);// Apabila caching mendapat, disebabkan garis bawah terlepas semasa menyalin kod, Menyebabkan masalah kerana pecahan cache

2 [Mandatori] Apabila menetapkan nilai panjang atau Panjang, gunakan huruf besar L selepas nilai, bukan huruf kecil yang mudah dikelirukan nombor 1, menyebabkan salah faham.

Penjelasan: Panjang a = 2l; Adakah ditulis 21 sebagai nombor atau sebagai 2 dalam jenis Panjang?

3. [Disyorkan] Jangan gunakan satu kelas pemalar untuk mengekalkan semua pemalar mengikut fungsinya dan mengekalkannya secara berasingan.

Nota: Kelas pemalar yang besar dan komprehensif adalah kucar-kacir dan tidak teratur Hanya fungsi carian boleh digunakan untuk mencari pemalar yang diubah suai, yang tidak kondusif untuk pemahaman dan penyelenggaraan.

Contoh positif: Pemalar berkaitan cache diletakkan di bawah kelas CacheConsts pemalar berkaitan konfigurasi sistem diletakkan di bawah kelas ConfigConsts.

4 [Disyorkan] Terdapat lima peringkat penggunaan semula berterusan: pemalar kongsi silang aplikasi, pemalar kongsi intra-aplikasi, pemalar kongsi intra-subprojek,

dalam -pakej Pemalar dikongsi, pemalar dikongsi dalam kelas.

1) Pemalar kongsi silang aplikasi: diletakkan dalam pustaka pihak kedua, biasanya dalam direktori tetap dalam client.jar.

2) Pemalar dikongsi dalam aplikasi: diletakkan dalam perpustakaan, biasanya dalam direktori pemalar dalam submodul.

Contoh pembilang: Pembolehubah yang mudah difahami juga mesti ditakrifkan secara seragam sebagai pemalar dikongsi dalam aplikasi Dua jurutera mentakrifkan pembolehubah "YA" dalam dua kelas:

Dalam kelas A: statik awam. Rentetan akhir YES = "yes";

Dalam kelas B: String akhir statik awam YES = "y";

A.YES.equals(B.YES), dijangka benar, tetapi Pulangan sebenar adalah palsu, menyebabkan masalah dalam talian.

3) Pemalar dikongsi dalam subprojek: iaitu, dalam direktori tetap subprojek semasa.

4) Pemalar dikongsi dalam pakej: iaitu, dalam direktori pemalar yang berasingan di bawah pakej semasa.

5) Pemalar dikongsi dalam kelas: ditakrifkan terus di dalam kelas akhir statik peribadi.

5 [Disyorkan] Jika nilai pembolehubah hanya berubah dalam julat tetap, gunakan jenis enum untuk mentakrifkannya.

Nota: Jika terdapat atribut lanjutan selain daripada nama, jenis enum hendaklah digunakan Nombor dalam contoh berikut ialah maklumat lanjutan, yang menunjukkan musim

tahun itu.

Contoh positif:

public enum SeasonEnum { SPRING(1), SUMMER(2), AUTUMN(3), WINTER(4); SeasonEnum(int seq) {this.seq = seq;} public int getSeq() { return seq;} }

Format kod

1 [Wajib] Jika kurungan kerinting kosong, tulis sahaja {} Itu sahaja, tiada garis putus dan ruang antara pendakap; jika ia adalah blok kod yang tidak kosong:

1) Tiada garis putus sebelum pendakap kiri.

2) Line break selepas pendakap pembukaan.

3) Garisan putus sebelum pendakap penutup.

4) Jika terdapat kod lain selepas pendakap kanan, ia tidak akan dibalut selepas pendakap kanan yang menunjukkan penamatan.

2. Tiada ruang antara kurungan kiri dan aksara begitu juga, tiada ruang antara kurungan kanan dan aksara dan ruang diperlukan sebelum kurungan kiri. Untuk butiran, lihat petua contoh yang betul di bawah Perkara 5.

Contoh pembilang: jika (ruang a == b ruang)

3 [Wajib] antara perkataan terpelihara seperti jika/untuk/sementara/tukar/buat dan. kurungan Ruang mesti ditambah.

4. [Wajib] Mana-mana pengendali binari atau ternari perlu menambah ruang di sebelah kiri dan kanan.

Penjelasan: Operator termasuk operator tugasan =, operator logik &&, tanda tambah, tolak, darab dan bahagi, dsb.

5. [Mandatori] menggunakan 4 ruang untuk lekukan dan melarang penggunaan aksara tab.

Nota: Jika anda menggunakan lekukan tab, anda mesti menetapkan 1 tab kepada 4 ruang. Apabila IDEA menetapkan tab kepada 4 ruang, jangan tandai Gunakan aksara tab dalam eclipse, anda mesti menyemak ruang sisipan untuk tab.

Contoh positif: (melibatkan mata 1-5)

utama kekosongan statik awam(String[] args) {//Indent 4 ruang String say = "hello";//Operasi Mesti ada menjadi ruang di sebelah kiri dan kanan simbol int flag = 0;// Mesti ada ruang antara kata kunci jika dan kurungan Tidak perlu ruang antara f dalam kurungan dan kurungan kiri, 0 dan kurungan kanan if (flag == 0) {System .out.println(say }// Tambah ruang sebelum kurungan kerinting kiri dan jangan patahkan garisan selepas pendakap kerinting kiri jika (; bendera == 1) { System.out.println("dunia");// Kurung kerinting kanan Pecah baris sebelum, jika tidak selepas kurung kanan, tiada pemisah baris diperlukan} lain {System.out.println("ok"); //Tamat terus selepas pendakap kanan, maka pemisah baris diperlukan}}

6, [ Wajib] Mesti ada betul-betul satu ruang di antara garis serong dua pada ulasan dan ulasan kandungan.

Contoh positif:

// Ini adalah contoh ulasan, sila ambil perhatian bahawa terdapat ruang selepas garis miring berganda String param = new String();

Atas ialah kandungan terperinci Apakah gaya penamaan Java, definisi malar dan format kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam