Cara membuat nama yang berarti untuk kode Anda

Ini adalah terjemahan dari artikel dari blog Better Programming di situs web Medium. Di dalamnya, programmer Daan membagikan aturan-aturan sederhana, yang dengannya Anda bisa memberi nama baik pada fungsi dan variabel.



Sebagai pengembang, Anda mungkin menghabiskan banyak waktu untuk membuat variabel dan mencari nama mereka. Nama ada di mana-mana: mereka diperlukan untuk file, kelas, metode, dan variabel yang sama.

Karena kita menghabiskan begitu banyak waktu menugaskan nama, sangat penting untuk melakukan ini secara berkualitas. Dalam artikel ini saya akan memberi tahu Anda tentang beberapa aturan sederhana, yang dapat Anda gunakan untuk membuat nama baik. Bagaimanapun, ini adalah keseluruhan seni!

Gunakan nama yang mengungkapkan niat Anda


Nama harus menunjukkan tujuan kode. Lebih mudah diucapkan daripada dilakukan, bukan? Seberapa sering Anda menjumpai variabel dengan nama yang tidak mengatakan apa-apa tentang maksud programmer?

Aturannya adalah ini: jika sebuah nama memerlukan komentar, itu tidak menunjukkan maksud.

Ada variabel dalam cuplikan kode ini dengan nama yang tujuannya tidak jelas:

<?php private $s; // Time in seconds 

Variabel $s tidak memberi tahu kami apa-apa dan tidak terkait dengan periode waktu. Lebih baik memilih nama yang akan menunjukkan apa dan di unit apa itu diukur.

Salah satu nama di bawah ini akan lebih tepat.

 <?php private $days_since_creation; private $elapsed_time_in_seconds; private $seconds_since_last_modified; 

Nama yang disengaja membuat kode lebih mudah dipahami, dan karenanya lebih mudah dipelihara.

Anda akan menghabiskan waktu memilih nama yang tepat, tetapi menyimpannya di kemudian hari.

Pertimbangkan contoh ini:
 <?php function getList() { $list1 = []; foreach ($this->the_list as $x) { if ($x % 2 != 0) { $list1[] = $x; } } return $list1; } function getOddNumbers() { $odd_numbers = []; foreach ($this->numbers as $number) { if (isOdd($number)) { $odd_numbers[] = $number; } } return $odd_numbers; } 

Mengapa sulit untuk memahami apa fungsi getList ? Tanpa ekspresi rumit, kode disejajarkan dan diformat dengan benar, hanya tiga variabel dan tidak lebih.

Sekarang lihat fungsi getOddNumbers . Apakah Anda melihat bahwa dia melakukan hal yang sama dengan getList ?

Perhatikan bahwa kode tidak menjadi lebih rumit atau lebih sederhana. Kami menjaga jumlah operator, variabel, dan level bersarang, tetapi sekarang lebih jelas dan transparan.

Perubahan kecil dalam nama - dan sudah jauh lebih mudah untuk memahami apa yang terjadi.

Hindari informasi yang salah


Cobalah untuk menghindari asosiasi palsu yang merusak tujuan kode.

Jangan menggunakan kata-kata yang dapat dipahami dengan cara yang berbeda dari yang Anda maksudkan. Misalnya, jangan productList grup produk productList , kecuali itu benar-benar objek daftar tipe. Nama seperti itu dapat mengarah pada kesimpulan yang salah. Lebih baik menggunakan products adil.

Mungkin nama terburuk untuk variabel dimulai dengan huruf besar O dan huruf kecil L , karena karakter ini sangat mirip dengan 0 dan 1.

Berhati-hatilah dengan nama yang hanya sedikit berbeda satu sama lain. Berapa banyak waktu akan berlalu hingga Anda melihat sedikit perbedaan antara SomeMethodForEfficientHandlingOfFiles dalam satu file dan SomeMethodForEfficientStorageOfFiles di file lain? Setuju, pada pandangan pertama mereka identik.

Sorot perbedaan yang berarti


Menggunakan penomoran bukan cara penamaan terbaik. Nama-nama tersebut tidak informatif, karena mereka tidak mengungkapkan maksud penulis sama sekali.

Mari kita lihat contoh berikut:

 <?php public function duplicateArray($arr1, &$arr2) { foreach ($arr1 as $key => $value) { $arr2[$key] = $value; } } 

Cuplikan kode ini akan membaca lebih baik jika kita mengganti nama $arr1 dan $arr2 $arr1 menjadi $source dan $destination .

Gunakan nama yang bisa Anda ucapkan


Jika Anda tidak dapat mengucapkan nama fungsi, maka Anda tidak mungkin dapat membicarakannya dan tidak terdengar bodoh. Ini sebenarnya penting karena membahas kode adalah bagian dari pemrograman. Namun, masing-masing dari kita pasti menemukan variabel dengan nama yang tidak dapat dinyalakan.

Misalkan Anda memiliki variabel yang disebut $xsq dan Anda sering mendiskusikannya dengan perusahaan. Dan di sini Anda berbicara dengan seorang rekan:
- Nah, ada apa dengan mantan es?
- Dengan apa? Dengan antrian akses?

Beberapa pengembang akan mengucapkan nama variabel sebagai kata, dan beberapa sebagai singkatan.

Gunakan nama yang bisa dicari


Masalah dengan nama huruf tunggal adalah bahwa mereka sulit ditemukan dalam kode.

Hal yang sama dengan konstanta numerik. Lebih baik menggantinya dengan variabel. Misalnya, angka 8 yang biasa dapat menyebabkan banyak masalah jika Anda perlu menemukan sesuatu dalam kode. Namun, akan jauh lebih mudah jika Anda mengganti nomornya dengan sesuatu seperti MAX_BLOCKS_DISPLAYED .

Satu-satunya situasi di mana layak menggunakan nama dari satu huruf adalah menciptakan nama untuk variabel lokal di dalam metode pendek.

Awalan Anggota Kelas


Jangan gunakan awalan m_.

Beberapa pengembang memiliki kebiasaan menggunakan awalan garis bawah di depan anggota kelas. Jangan lakukan itu. Kelas dan metode Anda harus cukup kompak sehingga Anda tidak memerlukan salah satu dari awalan ini.

Atau, Anda dapat menggunakan IDE (atau menginstal plugin), yang menyoroti variabel tergantung pada cakupannya.

Pikirkan kode Anda sebagai tempat piknik di hutan - biarkan lebih bersih daripada sebelum Anda tiba.

Kesimpulan


Ini adalah bagaimana nama-nama kode yang lebih mudah dipahami dibuat.

Beri komentar, tinggalkan pertanyaan Anda dan tulis jika Anda ingin saya membahas topik lain yang berkaitan dengan pemrograman.

Artikel ini diilhami oleh buku Robert Code Clean Code, yang sangat saya rekomendasikan untuk dibaca.

Source: https://habr.com/ru/post/id459793/


All Articles