Artikel ini menjelaskan sepuluh perintah utama yang perlu diketahui oleh pengembang Java. Bagikan kepada semua orang untuk referensi Anda, detailnya sebagai berikut:
Sebagai pengembang Java, meningkatkan kualitas dan pemeliharaan kode Anda adalah topik yang terus-menerus saya lihat artikel ini secara online dan menggunakannya untuk menyemangati diri saya sendiri.
Ada banyak standar dan praktik terbaik untuk pengembang Java. Artikel ini mencantumkan sepuluh aturan dasar yang harus dipatuhi oleh setiap pengembang; jika ada aturan yang bisa diikuti tetapi tidak diikuti, maka akan berakhir dengan sangat tragis.
1. Tambahkan komentar ke kode Anda
Semua orang tahu ini tapi entah bagaimana lupa untuk mengikutinya. Hitung berapa kali Anda "lupa" menambahkan anotasi? Memang benar: komentar tidak memberikan kontribusi besar terhadap fungsionalitas program. Namun, Anda perlu kembali ke kode yang Anda tulis dua minggu lalu berulang kali, mungkin seumur hidup, dan Anda tidak boleh ingat mengapa kode tersebut berperilaku seperti ini. Jika kode-kode ini milik Anda, Anda relatif beruntung. Karena itu mungkin membawa kembali kenangan. Namun sayangnya, sering kali, kode tersebut menjadi milik orang lain, dan ada kemungkinan besar dia telah keluar dari perusahaan.
2. Jangan mempersulit keadaan
Saya pernah melakukannya, dan saya yakin semua orang pernah melakukannya. Pengembang sering kali menemukan solusi untuk masalah sederhana. Kami memperkenalkan EJB untuk aplikasi dengan hanya 5 pengguna. Kami menggunakan kerangka kerja untuk aplikasi yang bahkan tidak membutuhkannya. Kami menambahkan file properti, solusi berorientasi objek, dan thread ke aplikasi, tetapi aplikasi tersebut tidak memerlukannya sama sekali. Mengapa kita melakukan ini? Ada di antara kita yang melakukannya karena tidak tahu cara melakukannya dengan lebih baik, namun ada pula yang melakukannya untuk mempelajari ilmu baru dan membuat aplikasinya lebih menarik bagi diri kita sendiri.
3. Ingat – “less is more” tidak selalu baik
Efisiensi kode adalah hal yang hebat, namun dalam banyak kasus, menulis lebih sedikit baris kode tidak membuat kode tersebut lebih efisien. Tolong izinkan saya menunjukkan kepada Anda sebuah contoh sederhana.
if(newStatusCode.equals("SD") && (sellOffDate == null || TodayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null && TodayDate.compareTo(lastUsedDate)>0)) || (newStatusCode.equals ("OBS") && (OBSdate == null || hari iniDate.compareTo(OBSDate)<0))){ newStatusCode = "NYP";} Saya ingin bertanya: Apakah mudah untuk mengetahui apa yang ingin dilakukan oleh kondisi if dari kode di atas? Sekarang, mari kita asumsikan siapa pun yang menulis kode ini gagal mengikuti aturan nomor satu - tambahkan komentar ke kode Anda.
Bukankah lebih mudah jika kita membagi kondisi ini menjadi dua pernyataan if yang terpisah? Sekarang, perhatikan kode yang telah diperbaiki berikut ini:
if(newStatusCode.equals("SD") && (sellOffDate == null || TodayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null && TodayDate.compareTo(lastUsedDate)>0))){ newStatusCode = "NYP ";}else if(newStatusCode.equals("OBS") && (OBSDate == null || TodayDate.compareTo(OBSDate)<0)){ newStatusCode = "NYP";}Bukankah lebih baik dibaca? Ya, kami mengulangi kondisi pernyataan tersebut. Ya, kami memiliki tambahan "JIKA" dan dua pasang tanda kurung tambahan. Namun kodenya lebih mudah dibaca dan dimengerti.
4. Tolong jangan ada kode keras
Seringkali pengembang secara sadar melupakan atau mengabaikan aturan ini karena, seperti biasa, kita sedang terburu-buru. Jika kita mengikuti aturan ini, kita mungkin akan terlambat dari jadwal. Kita mungkin tidak dapat mengakhiri keadaan kita saat ini. Namun berapa lama waktu yang kita perlukan untuk menulis baris kode tambahan yang mendefinisikan konstanta statis?
Berikut ini contohnya.
kelas publik A { public static final String S_CONSTANT_ABC = "ABC"; metode boolean publikA(String sParam1){ if(A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)){ kembali benar;Sekarang, setiap kali kita perlu membandingkan string "ABC" dengan beberapa variabel, kita hanya perlu mereferensikan S_CONSTANT_ABC alih-alih mengingat kode sebenarnya. Keuntungannya juga adalah mempermudah memodifikasi konstanta di satu tempat, daripada mencarinya di semua kode Anda.
5. Jangan menciptakan kerangka kerja Anda sendiri
Ribuan framework telah diluncurkan, dan sebagian besar bersifat open source. Banyak dari kerangka kerja ini merupakan solusi terbaik dan digunakan di ribuan aplikasi. Anda harus mengikuti kerangka kerja baru ini, setidaknya secara dangkal. Di antara kerangka kerja yang sangat baik dan banyak digunakan ini, salah satu contoh terbaik dan paling langsung adalah Struts. Dari semua kerangka kerja yang dapat Anda bayangkan, kerangka web sumber terbuka ini adalah kandidat sempurna untuk aplikasi berbasis web. Tapi Anda harus ingat aturan kedua - jangan mempersulit. Jika Anda mengembangkan aplikasi dengan hanya tiga halaman - tolong, jangan gunakan Struts. Untuk aplikasi seperti itu, tidak ada yang bisa "mengontrol" permintaan.
6. Jangan mencetak garis dan menambahkan string
Saya tahu bahwa untuk tujuan debugging, pengembang suka menambahkan System.out.println di mana pun kami mau, dan kami mengatakan pada diri sendiri bahwa kami akan menghapus kode ini nanti. Namun kita sering lupa menghapus baris kode ini, atau kita tidak ingin menghapusnya. Kami menggunakan System.out.println untuk menguji. Setelah kami menyelesaikan pengujian, mengapa kami masih dapat mengaksesnya? Kami mungkin menghapus sebaris kode yang sebenarnya kami perlukan hanya karena Anda meremehkan kerusakan yang disebabkan oleh System.out.println Perhatikan kode berikut:
public class BadCode { perhitungan public static voidWithPrint(){ double someValue = 0D; for (int i = 0; i < 10000; i++) { System.out.println(someValue = someValue + i); ){ gandakan SomeValue = 0D; untuk (int i = 0; i < 10000; i++) { someValue = someValue + i; } } public static void main(String [] n) { BadCode.calculationWithPrint();Pada tabel di bawah, Anda dapat melihat bahwa metode calculationWithOutPrint() memerlukan waktu 0,001204 detik untuk dijalankan. Sebagai perbandingan, menjalankan metode CalculationWithPrint() memerlukan waktu 10,52 detik.
(Jika Anda belum tahu cara mendapatkan tabel seperti ini, silakan lihat artikel saya "Java Profiling with WSAD" Java Profiling with WSAD)
Cara terbaik untuk menghindari pemborosan CPU adalah dengan memperkenalkan metode wrapper, seperti berikut
public class BadCode { public static final int DEBUG_MODE = 1; public static final int PRODUKSI_MODE = 2; perhitungan public static voidWithPrint(int logMode){ double someValue = 0D; someValue + i; myPrintMethod(logMode, someValue); myPrintMethod(int logMode, nilai ganda) { if (logMode > BadCode.DEBUG_MODE) { return; } System.out.println(value); public static void main(String [] n) { BadCode.calculationWithPrint(BadCode.PRODUKSI_MODE) ;Pada gambar di bawah, Anda akan melihat bahwa metode yang menggunakan StringBuffer hanya membutuhkan waktu 0,01 detik untuk dieksekusi, sedangkan metode yang menggunakan penambahan string membutuhkan waktu 0,08 detik untuk dijalankan. Pilihannya jelas.
7. Ikuti GUInya
Betapapun konyolnya hal ini, saya akan mengatakannya berulang kali: GUI sama pentingnya bagi pelanggan bisnis seperti halnya fungsionalitas dan kinerja. GUI adalah bagian penting dari sistem yang sukses. (Namun), majalah IT sering kali cenderung mengabaikan pentingnya GUI. Banyak organisasi menghemat uang dengan tidak mempekerjakan desainer yang memiliki pengalaman luas dalam merancang GUI yang "ramah pengguna". Pengembang Java harus mengandalkan pengetahuan mereka sendiri tentang HTML, namun pengetahuan mereka di bidang ini sangat terbatas. Saya telah melihat banyak aplikasi seperti ini: mereka "ramah komputer", bukan "ramah pengguna". Saya jarang melihat pengembang yang mahir dalam pengembangan perangkat lunak dan pengembangan GUI. Jika Anda adalah pengembang yang kurang beruntung yang ditugaskan untuk mengembangkan antarmuka pengguna, Anda harus mengikuti tiga prinsip berikut:
1. Jangan menemukan kembali roda. Cari sistem yang ada dengan persyaratan antarmuka pengguna yang serupa.
2. Pertama buat prototipenya. Ini adalah langkah yang sangat penting. Pelanggan ingin melihat apa yang akan mereka dapatkan. Ini juga bagus untuk Anda karena Anda mendapatkan masukan dari mereka sebelum Anda berusaha sekuat tenaga dan membuat antarmuka pengguna yang akan membuat mereka marah.
3. Kenakan topi pengguna. Dengan kata lain, periksa persyaratan aplikasi dari sudut pandang pengguna. Misalnya, apakah halaman ringkasan harus diberi nomor halaman. Sebagai pengembang perangkat lunak, Anda cenderung mengabaikan penomoran halaman dalam suatu sistem karena kompleksitas pengembangannya lebih sedikit. Namun, ini bukan solusi terbaik dari sudut pandang pengguna karena data yang diringkas akan memiliki ratusan atau ribuan baris.
8. Selalu persiapkan persyaratan yang terdokumentasi
Setiap kebutuhan bisnis harus didokumentasikan. Hal ini mungkin benar dalam beberapa dongeng, tetapi tidak mungkin terjadi di dunia nyata. Tidak peduli seberapa ketatnya waktu untuk pengembangan Anda, atau apakah tanggal pengiriman akan segera tiba, Anda harus selalu tahu bahwa setiap kebutuhan bisnis telah didokumentasikan.
9. Pengujian unit, pengujian unit, pengujian unit
Saya tidak akan menjelaskan secara detail tentang cara terbaik untuk menguji unit kode Anda. Apa yang ingin saya katakan adalah pengujian unit harus dilakukan. Ini adalah aturan pemrograman yang paling dasar. Ini adalah hal terpenting dari semua undang-undang di atas yang tidak dapat diabaikan. Sebaiknya Anda memiliki kolega yang dapat membuat dan menguji pengujian unit untuk kode Anda. Namun jika tidak ada yang melakukannya untuk Anda, maka Anda harus melakukannya sendiri. Saat membuat rencana pengujian unit Anda, ikuti aturan berikut:
1. Tulis pengujian unit sebelum menulis kode.
2. Tulis komentar di unit test.
3. Uji semua metode publik yang menjalankan fungsi "menarik" ("menarik" berarti metode yang bukan penyetel atau pengambil kecuali metode tersebut menjalankan metode set dan mendapatkan dengan cara khusus).
10. Ingat - kualitas, bukan kuantitas.
Jangan sampai larut malam di kantor (saat tidak diperlukan). Saya memahami bahwa terkadang, masalah produk, tenggat waktu yang ketat, dan kejadian tak terduga dapat menghalangi kita untuk pulang kerja tepat waktu. Namun dalam keadaan normal, manajer tidak akan menghargai dan memberi penghargaan kepada karyawan yang terlambat pulang kerja. Jika Anda mengikuti aturan yang saya berikan di atas, Anda akan menemukan bahwa kode Anda memiliki lebih sedikit bug dan lebih mudah dipelihara. Dan itulah bagian terpenting dari pekerjaan Anda.
Meringkaskan
Pada artikel ini, saya memberikan sepuluh aturan penting untuk pengembang Java. Penting tidak hanya untuk mengetahui aturan-aturan ini, tetapi juga untuk mengikutinya selama proses pengkodean. Semoga aturan ini akan membantu kita menjadi programmer dan profesional yang lebih baik.
Saya harap artikel ini bermanfaat bagi semua orang dalam pemrograman Java.