1.5 Amalan Terbaik Pengaturcaraan
Amalan terbaik pengaturcaraan ialah teknik atau panduan standard yang dipraktikkan oleh pengatur cara untuk menghasilkan kod atur cara yang berkualiti, teratur, mudah dibaca, diselenggara dan difahami oleh pihak lain. Topik ini juga meneroka jenis-jenis ralat dalam kod serta cara mengesan dan membaikinya.
Objektif Pembelajaran
- Membezakan jenis ralat dalam atur cara iaitu ralat sintaks, ralat masa larian dan ralat logik.
- Mengesan, mengenal pasti, menterjemah mesej ralat dan membaiki ralat dalam kod atur cara.
- Mengenal pasti nilai bagi pemboleh ubah input dan pemboleh ubah output pada bahagian tertentu atur cara.
- Menghasilkan kod atur cara yang mudah dibaca dengan mempraktikkan gaya penulisan yang baik menggunakan komen, nama pemboleh ubah yang bermakna dan inden yang konsisten.
Rajah Perbandingan Kod Atur Cara Beramalan Terbaik vs Tanpa Amalan Terbaik & Carta Jenis Ralat
Kod yang teratur menggunakan komen, inden dan penamaan yang jelas. Kod yang padat tanpa amalan terbaik sukar dibaca dan diselenggara. Tiga jenis ralat utama dalam Java pula perlu dikenal pasti dengan cara pengesanan yang berbeza.
Kod Beramalan Terbaik
// Kira luas bulatan
double jejari = 5.0;
double luas = Math.PI * jejari * jejari;
System.out.println("Luas bulatan: " + luas);
Mengandungi komen, inden konsisten dan nama pemboleh ubah bermakna.
Kod Tanpa Amalan Terbaik
double x=5.0;double y=Math.PI*x*x;System.out.println(y);
Tiada komen, tiada inden dan nama pemboleh ubah tidak deskriptif.
Ralat Sintaks
Dikesan oleh pengkompil semasa fasa penyusunan.
Ralat Masa Larian
Berlaku semasa atur cara sedang berjalan.
Ralat Logik
Tidak dikesan oleh pengkompil; semak output secara manual.
Penerangan Ringkas
Empat faktor kebolehbacaan kod, tiga jenis ralat, dan cara mengesan nilai pemboleh ubah input serta output.
Apakah itu amalan terbaik pengaturcaraan?
Amalan terbaik ialah teknik atau metodologi yang terbukti melalui pengalaman atau kajian boleh dipercayai untuk mencapai hasil yang diingini secara berkesan. Dalam pengaturcaraan, ia bermaksud pengatur cara mempraktikkan tatacara yang standard untuk menghasilkan atur cara yang baik dan mudah difahami.
Empat faktor kebolehbacaan kod
1. Inden yang konsisten
Inden memastikan kod mudah dibaca dan difahami oleh pengguna lain. Penulisan inden dilakukan secara konsisten dari awal hingga akhir kod, iaitu barisan teks berada beberapa aksara ke dalam dari jidar kiri atau kanan.
2. Jenis data yang bersesuaian
Saiz pemboleh ubah dipilih tepat supaya tidak terlalu kecil atau besar serta memulihara sumber (conserve resources). Contohnya, menggunakan int bagi nombor bulat dan bukannya double.
3. Pemboleh ubah yang bermakna
Nama pemboleh ubah mesti jelas dan mematuhi peraturan Java. Skop biarlah kecil bagi mengelakkan kekeliruan dan memudahkan penyelenggaraan. Nama tidak bermula dengan nombor, tiada ruang kosong, tidak menggunakan kata kekunci Java, dan bersifat peka kes.
4. Komen
Komen ialah penanda penerangan fungsi kod kepada pengatur cara dan diabaikan oleh pengkompil Java. Komen ditulis jelas dalam 2 hingga 3 baris pendek untuk memenuhi ruang lajur pengekodan.
Peraturan penamaan pemboleh ubah Java
- Tidak bermula dengan nombor. Gunakan
cara1, bukan1cara. - Tiada ruang kosong antara perkataan. Gunakan tanda garis bawah (
_) atau cantumkan perkataan, contohnyacaraPertamaataucara_1. - Tidak menggunakan kata kekunci bahasa Java seperti
integerataudouble. - Bersifat sensitif huruf atau kes. Contohnya
caraPertamaberbeza denganCaraPertama. - Menggunakan ejaan ringkas, bermakna dan mudah difahami. Elakkan singkatan kabur atau huruf umum yang tidak deskriptif seperti
xdany. - Tidak mengandungi perkataan khas atau rizab seperti
printdanvalue.
Tiga gaya komen Java
| Tatatanda | Penerangan |
|---|---|
// teks | Mengabaikan teks bermula daripada simbol // hingga ke akhir baris yang sama. Ini ialah komen satu baris. |
/* teks */ | Mengabaikan semua teks di antara /* hingga */ walaupun melibatkan beberapa baris. Ini ialah komen pelbagai baris. |
/** teks */ | Komen dokumentasi. Ia diabaikan oleh pengkompil sama seperti komen /* */. |
Tiga jenis ralat dalam atur cara
Ralat Sintaks
Ralat sintaks berlaku akibat pelanggaran peraturan tatabahasa bahasa pengaturcaraan atau penggunaan aksara atau objek yang tidak dikenali. Ia dikesan semasa fasa penyusunan oleh pengkompil yang memaparkan mesej ralat tertentu sebelum atur cara boleh dijalankan.
Ralat Masa Larian
Ralat masa larian ditemui semasa atur cara sedang berjalan dan menyebabkannya terganggu atau terhenti secara tiba-tiba. Ia berlaku apabila atur cara cuba melaksanakan operasi aritmetik atau pemprosesan yang mustahil.
Ralat Logik
Ralat logik berlaku apabila atur cara berjaya disusun dan dijalankan tanpa henti mengejut, tetapi menghasilkan output yang salah atau tidak menepati kehendak. Ia tidak dapat dikesan atau jarang dikesan oleh pengkompil sistem.
Contoh punca ralat
| Jenis ralat | Punca atau contoh |
|---|---|
| Ralat Sintaks | Ketiadaan tanda kurung penutup }, tanda koma bertitik ; tertinggal di hujung penyataan, salah ejaan pada pemboleh ubah, atau pemboleh ubah digunakan tanpa pengisytiharan jenis data. |
| Ralat Masa Larian | Pembahagian nombor dengan nilai sifar (ArithmeticException: / by zero), pengiraan data bukan berangka, atau mencari punca kuasa dua bagi nilai negatif seperti Math.sqrt(-25). |
| Ralat Logik | Formula luas bulatan sepatutnya pi * jejari * jejari, tetapi ditulis pi * jejari, menghasilkan output 15.709 dan bukannya nilai tepat 78.55. |
Mengenal pasti nilai pemboleh ubah input dan output
Pemboleh ubah bertindak sebagai pemudah cara storan ingatan komputer untuk menerima, menghantar dan memproses data. Pemboleh ubah input ialah nilai awal yang dimasukkan atau diumpukkan ke dalam pemboleh ubah sebelum pemprosesan. Pemboleh ubah output ialah nilai baharu yang terhasil setelah operasi atau formula aritmetik diproses oleh komputer.
Contoh input
jejari = 5, tapak = 6, bilangan_tiket = 3, harga_tiket = 45.00.
Contoh output
luas bulatan = 78.55, jumlah_harga = 135.00.
Kelas java.text.DecimalFormat dengan corak ("#.00") digunakan untuk memformat output perpuluhan kepada dua tempat perpuluhan.
Cuba Jawab Dulu
Cuba jawab sendiri dahulu, kemudian tekan butang untuk menyemak.
Mengapakah pengkompil tidak dapat mengesan ralat logik dalam sesebuah kod atur cara?
Kerana kod atur cara mematuhi semua peraturan sintaks bahasa pengaturcaraan dan tidak mengandungi operasi yang mustahil untuk dilaksanakan oleh pemproses, tetapi hanya salah dari segi logik atau formula matematik yang ditetapkan oleh pengatur cara.
Berikan satu sebab mengapa penamaan pemboleh ubah 1jumlah tidak sah dalam Java.
Nama pemboleh ubah dalam Java tidak boleh dimulakan dengan digit atau nombor.
Apakah perbezaan utama antara komen yang bermula dengan tanda // dan komen diapit tanda /* ... */?
Komen bertanda // hanya mengabaikan teks sehingga ke hujung baris yang sama, iaitu satu baris. Komen /* ... */ pula mengabaikan teks merentasi beberapa baris yang berlainan, iaitu pelbagai baris.
Kesalahan Biasa
- Mengabaikan sifat sensitif kes Java. Mengisytiharkan pemboleh ubah
luasBulatantetapi memanggilnya sebagailuasbulatanpada penyataan output, yang mengakibatkan ralat sintaks cannot be resolved to a variable. - Menamakan pemboleh ubah menggunakan aksara ruang kosong, contohnya
harga tiket, dan bukannya mencantumkan kata atau menggunakan garis bawah sepertiharga_tiketatauhargaTiket. - Tersalah anggap bahawa ralat logik akan memaparkan kotak amaran atau mesej merah di konsol. Ralat logik langsung tidak memaparkan mesej ralat sistem; ia hanya boleh dikesan melalui semakan output secara manual.
- Tertinggal tanda penutup kurung kerinting
}bagi blok kaedah utama atau kelas, yang menyebabkan pengkompil gagal menyelesaikan pembinaan blok Syntax error, insert "}" to complete ClassBody. - Membahagi sebarang pemboleh ubah dengan nombor
0, yang mencetuskan ralat masa larian ArithmeticException: / by zero.
Salah Faham Konsep
Komen akan melambatkan kelajuan pelaksanaan atur cara dan menambah saiz fail atur cara yang diproses.
Pengkompil Java mengabaikan sepenuhnya teks komen semasa fasa kompilasi. Komen sama sekali tidak menjejaskan prestasi atau output atur cara.
Ralat masa larian dan ralat sintaks adalah ralat yang sama kerana kedua-duanya memaparkan mesej ralat teks merah pada konsol.
Ralat sintaks berlaku sebelum atur cara berjaya dikompil akibat salah tatatanda kod, manakala ralat masa larian berlaku semasa atur cara sedang berjalan akibat operasi mustahil seperti bahagi dengan sifar.
Menamakan pemboleh ubah dengan huruf ringkas seperti x dan y adalah lebih baik kerana menjimatkan ruang kod.
Amalan terbaik menegaskan penggunaan nama pemboleh ubah yang bermakna dan jelas, seperti tapak dan tinggi, supaya mudah dibaca dan diselenggara oleh pengatur cara lain.
Ringkasan
- Amalan terbaik pengaturcaraan merangkumi empat faktor utama kebolehbacaan: inden yang konsisten, pemilihan jenis data yang menjimatkan memori, penamaan pemboleh ubah bermakna mengikut konvensyen Java dan peka kes, serta penerangan fungsi melalui komen.
- Komen Java menggunakan tatatanda
//untuk satu baris,/* ... */untuk pelbagai baris, dan/** ... */untuk komen dokumentasi. Pengkompil mengabaikan semua komen. - Ralat sintaks ialah kesalahan tatabahasa kod yang dikesan oleh pengkompil sebelum atur cara dijalankan.
- Ralat masa larian ialah gangguan ketika program dijalankan, contohnya pembahagian dengan 0.
- Ralat logik ialah formula atau logik salah yang menghasilkan output tidak tepat tanpa sebarang mesej ralat sistem.
- Pengatur cara perlu meneliti nilai pemboleh ubah input dan pemboleh ubah output bagi memastikan atur cara berfungsi secara tepat dan bebas ralat.
Aktiviti Ringkas
A. Kuiz Objektif
1 Apakah jenis ralat yang berlaku apabila atur cara cuba membahagikan sesuatu nilai integer dengan angka 0 semasa atur cara dijalankan?
2 Antara pengisytiharan pemboleh ubah berikut, yang manakah mematuhi panduan amalan terbaik dalam pengaturcaraan Java?
B. Isi Tempat Kosong
3 Tatatanda komen bagi membolehkan pengkompil Java mengabaikan teks pada baris yang sama bermula daripada tatatanda tersebut sehingga ke akhir baris ialah .
4 Ralat berlaku sekiranya atur cara dapat dijalankan tanpa mesej gangguan pengkompil tetapi output yang dipaparkan adalah tidak tepat berbanding jawapan sebenar.
C. Padankan Istilah dengan Huraian
Seret istilah atau konsep ke huraian yang betul. Jika menggunakan telefon, tekan pilihan jawapan dahulu, kemudian tekan kotak padanan.