Clean Code : Names Rules — part 3

Muhammad Zaky
ITMI Engineering
Published in
5 min readFeb 29, 2020

Ini adalah bagian ketiga dari seri artikel clean code yang merupakan summary dari buku clean code karya Robert C Martin. sebelumnya kita telah membahas mengenai design rules dalam clean code, Jumlah part seri artikel ini 9 part sebagai berikut :

  1. General Rules
  2. Design Rules
  3. Names Rules (Artikel yang sedang kamu baca)
  4. Function Rules
  5. Comment Rules
  6. Source Code Structure
  7. Object and Data Structures
  8. Unit Test
  9. Refactoring

Names Rules — Meaningfull Name

Kenapa memilih sebuah nama class/method/variable menjadi penting, karena nama adalah sebuah identitas, dengan management penamaan yang baik, rapi dan teratur membuat kita lebih mudah ketika memanggilnya. karena ketika ngoding kita akan sangat sering nama untuk sebuah variable, method, class dan lain — lain.

Sederhananya, bayangkan jika di list kontak kamu nama kontaknya pacar 1, pacar 2, calon pacar, mantan calon pacarbagaimana kamu akan mengingat orang yang mana terakhir kamu ajak makan bareng? pasti susah kan? tetapi bagaimana jika nama kontaknya kiki, gia, liani, riska pasti akan lebih mudah mengingatnya bukan? apalagi misalnya di namanya di tambah informasi misalnya kikiNurse, riskaApoteker pasti kamu akan lebih mudah mengingatkan!

Nah, begitu juga dengan nama variable, method dan class. semakin bagus, rapi dan tertata penamaannya semakin mudah kamu ingat dan di mengerti. bukan hanya oleh diri sendiri tetapi juga developer lainnya. semakin mudah di mengerti maka akan semakin mudah di gunakan.

Dalam buku clean code — nya Robert C Martin, menurut Robert, penamaan adalah hal yang sangat penting dalam ngoding. bagaiamana tidak, hal yang paling sering kita lakukan ketika kita ngoding adalah memberi nama variable/method/class kemudian memanggilnya, kemudian menggunakannya, kemudian memodifikasinya dan begitu terus berulang - ulang terus menerus.

Sehingga penamaan harus memiliki arti/makna (meaningfull), mudah di ingat, tidak terlalu panjang dan familiar di kalangan developer. oleh karena itu menurut Robert ini di perhatikan dengan sangat baik. berikut beberapa tips dari Robert C Martin cara penamaan file/variable/class/method agar code kamu lebih clean.

Use Intention-Revealing Names

Pastikan nama yang kamu gunakan memiliki makna yang mudah di mengerti oleh semua kalangan developer. bukan makna tersurat apalagi tersirat seperti surat cinta. Nama variable harus benar — benar memiliki arti yang baku.

//BAD 
const a = 'Muhammad Zaky';
//GOOD
const authorName = 'Muhammad Zaky'

Avoid Disinformation

Jangan gunakan nama yang bisa menyebabkan salah arti, sepert ls bisa saja yang di maksud adalah list, tetapi nama ini juga di gunakan oleh operating system . hindari juga penggunaan karakter yang susah dibaca seperti O dan i.

Make Meaningful Distinctions

Gunakan nama yang memiliki makna berbeda, bukan hanya spelling berbeda. salah satu contoh variable yang memiliki spelling berbeda tetapi memiliki makna yang sama adalah accountInfo dan accountData prefix Info dan Data dalam kedua variable memiliki makna yang sama meskipun memiliki spelling yang berbeda, contoh nama method yang memilihi makna yang sama

//BAD
getActiveUser()
getActiveUsers()
getActiveUserInfo()
getActiveUserData()

Pastikan menggunakan nama yang memiliki makna berbeda seperti

//GOOD
getUserActive()
getUserById()
getUserByName()

Use Pronounceable Names

Gunakan nama yang dapat di ucapkan, pastikan nama yang kamu gunakan untuk variable/method adalah kata yang bisa di ucapkan dengan mudahkan, karena di sebuah nama bukan hanya perlu bisa di tulis saja tetapi juga harus bisa di ucapkan, karena ngoding bukan hanya masalah mengetik di keyboard, tetapi terkadang juga butuh di ucapkan misalnya saat presentasi, diskusi atau meeting. bayangkan jika mempunyai nama class cstrData , bagaimana kamu akan mengucapkan saat diskusi dengan teman — teman developer lainnya? nah lebih baik jika nama class yang di gunakan customerData.

//BAD  
const mhsData;
const accninfo;
const cntr;
//GOOD
const mahasiswaData;
const accountInfo;
const counter;

Use Searchable Name

Pastikan menggunakan nama yang mudah untuk cari, biasanya nama yang mudah untuk dicari adalah nama yang tidak menggunakan keyword bahasa pemograman seperti for, const, while atau keyword sistem operasi seperti dir, ls, rm dan sebagainya.

Hindari juga penggunaan variable menggunakan integer atau angka seperti 30, 20 dan sebagainya atau menggunakan nama dengan single letter seperti H, S dan sebagainya

Tips sederhana untuk membuat nama variable yang mudah di cari adalah menggunakan nama yang unik dan berbeda.

//BAD const M = 12;  
for(i=1; i <= M; i++){
console.log(`sekarang bulan ${i}`);
}
//GOOD
const totalMonth = 12;
for(currentMonth = 1; currentMonth <= totalMonth; currentMonth++){
console.log(`sekarang bulan ${currentMonth}`)
}

Don’t Be Cute

Gunakan nama yang clear dan mudah di pahami secara umum, misalnya female untuk merepresentasikan perempuan dan male untuk merepresentasikan lelaki, jangan gunakan cewe atau cowo, dan jangan menggunakan bahasa yang hanya di mengertikan segelintir orang apalagi membuat joke dalam menggunakan nama variable seperti leumang, apam, atau gans — seperti rekan kerja saya yang sangat suka menamakan variable gans, ampas dan bray.

Use One Word per Concept

Gunakan satu kata yang baku untuk sebuah concept, misalnya ketikan mengambil data dari REST API, biasanya kata yang di gunakan get, fetch dan retrive. pastikan tidak menggunakan nama method unconsistent fungsi tersebut. misalnya pada saat penggunakan pertama anda menggunakan nama method getData kemudian di method selanjutnya menggunakan fetchData dan selanjutkan menggunakan retriveData.

Pastikan kamu hanya menggunakan salah satu kata itu untuk merepresentasikan proses pengambilan data, jika kamu menggunakan get maka pastikan menggunakan get selalu dalam code kamu. begitu juga untuk delete atau destroy, save atau createdan sebagainya.

Penamaan Class

Untuk penamaan class pastikan menggunakan kata benda seperti Custumer, Account, Money dan sebagainya. hindari menggunakan kata benda yang terlalu umum seperti Info, Data, Time dan sebagaimnya. dan tidak menggunakan kata kerja sebagai nama class seperti Processing , Post, Delete dan sebagainya

Penamaan Method

Gunakan kata kerja sebagai nama method, misalnya addCustomer, deleteCustomer dan sebagainya. atau gunakan kata yang merepresentasikam value dari method itu sendiri sepert isValidUser dan sebagainya.

Kesimpulan

Memilih nama adalah salah satu masalah sulit, memilih nama cewek di list kontak aja bisa salah karena terlalu banyak, apalagi memilih nama variable, method, class dan lainnya. saya sendiri kadang — kadang kebingungan ketika harus memiilih nama untuk sebuah variable. apalagi harus mengingatnya untuk kemudian bisa di gunakan.

Tetapi dengan management penamaan yang baik akan sangat membantu kita untuk menentukan dan memberi nama untuk sebuah method, varibale dan class.

Sekian tulisan sederhana ini, ini merupakan summary dari bab Meaningfull Name di buku clean code karya Robert C Martin. Selanjutnya saya akan lanjutkan tentang Function Rules, semoga saya tetap komitmen untuk menulis.

Semoga tulisan sederhana ini bermanfaat.

--

--