Penamaan yang jujur
Nama yang berbohong lebih berbahaya daripada nama yang buruk, dan komentar tidak pernah menjadi obatnya.
Kode yang benar dan kode yang dapat dirawat adalah dua ukuran berbeda, dan platform ini hanya menguji yang pertama. Test case tidak peduli variabel Anda bernama data atau bernama hargaSetelahDiskon. Tingkat ini membahas ukuran kedua, yang tidak ada satu pun test dapat memeriksanya.
IngatMenyelesaikan materi tingkat lanjut tidak menggeser satu pun rating sumbu. Rating hanya bergerak lewat pengiriman di arena.
Tiga tingkat kualitas nama
Ada tiga tingkat kualitas nama, dan yang paling sering diabaikan justru bukan yang terburuk. Nama yang buruk membuat pembaca berhenti dan mencari. Nama yang berbohong membuat pembaca tidak berhenti sama sekali, lalu mengambil kesimpulan yang salah.
Ringkasan
- Nama kosong: d, tmp, data2. Pembaca harus melacak asalnya. Melelahkan, tetapi tidak menyesatkan.
- Nama berbohong: daftarUser yang isinya ternyata satu user, atau totalHarga yang belum termasuk pajak. Pembaca percaya dan tidak memeriksa.
- Nama jujur: userAktif, hargaSebelumPajak. Menyebut isinya sekaligus batasnya.
Nama yang berbohong
SET total = harga * jumlah SET total = total - diskon OUTPUT total
Nama yang menyebut tahapnya
SET subtotal = harga * jumlah SET totalSetelahDiskon = subtotal - diskon OUTPUT totalSetelahDiskon
Di kolom kiri, total berarti dua hal berbeda di dua baris berdampingan. Siapa pun yang menambahkan baris di antara keduanya harus membaca seluruh blok untuk mengetahui total mana yang sedang ia pegang. Kolom kanan memberi setiap tahap namanya sendiri, dan sebagai hadiahnya baris terakhir menjadi tidak dapat disalahpahami.
Komentar bukan obatnya
Godaan yang muncul di titik ini adalah menambahkan komentar alih alih mengganti nama. Komentar tidak diperiksa siapa pun. Ia tidak ikut berubah ketika kodenya berubah, dan komentar yang tertinggal satu revisi lebih menyesatkan daripada tidak ada komentar sama sekali. Nama, sebaliknya, ikut terbawa setiap kali variabelnya dipakai.
Komentar menutupi nama buruk
# n adalah jumlah user aktif SET n = 0
Nama menggantikan komentar
SET jumlahUserAktif = 0
Kolom kanan memuat informasi yang sama dengan satu baris lebih sedikit, dan informasinya ikut terbaca di setiap tempat variabel itu dipakai, bukan hanya di tempat ia dideklarasikan.
Satu pengecualian yang perlu disebut: komentar yang menjelaskan alasan tetap berharga, sebab alasan memang tidak dapat dinyatakan lewat nama. Nama menjawab apa; komentar sebaiknya hanya menjawab kenapa. Kalau komentar Anda mengulang apa yang sudah tertulis di barisnya, ia dapat dihapus tanpa kehilangan apa pun.
Periksa pemahaman
Sebuah variabel bernama isValid menyimpan hasil pemeriksaan format email, tetapi tidak memeriksa apakah domainnya aktif. Mana perbaikan yang paling tepat?
- Satu nama, satu arti, di seluruh cakupannya. Nama yang berubah arti di tengah jalan adalah bug yang menunggu.
- Sebut batasnya di dalam namanya bila batas itu mudah dilupakan.
- Nama menjawab apa, komentar sebaiknya hanya menjawab kenapa.
- Kalau sebuah komentar mengulang isi barisnya, hapus komentarnya atau perbaiki namanya.