Clean Code : Names Rules — part 3
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 :
- General Rules
- Design Rules
- Names Rules (Artikel yang sedang kamu baca)
- Function Rules
- Comment Rules
- Source Code Structure
- Object and Data Structures
- Unit Test
- 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 pacar
bagaimana 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 create
dan 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.