Clean Code – Naming Part I

Programming is the art of telling another human what one wants the computer to do.

— Donald Knuth

Clean code diperkenalkan oleh Rober C. Martin dalam bukunya:  Clean Code: A Handbook of Agile Software Craftsmanship.  Clean code adalah bagaimana kode program yang kita tulis mudah dimengerti dan mudah dimodifikasi. Jika kita menulis dengan Clean Code akan memudahkan diri kita dan juga teman kerja kita di kemudian hari untuk melakukan perbaikan bug maupun modifikasi kode program.

Penamaan (Naming)

Jelas

Kita melakukan penamaan dihampir seluruh code program, entah itu menamakan variablel, fungsi, argument ataupun class. Penamaan yang benar menguras banyak waktu, tapi membuat waktu pembacaan kode program lebih efisien di kemudian hari.  Semakin banyak komentar  yang kita butuhkan untuk menjelaskan maksud penamaan kita, semakin tidak bagus penamaan kita tersebut.

int d; //elapsed time in days

Variable d pada senarai program di atas tidak mengungkapkan sesuatu yang begitu jelas bagi kita tanpa membaca komentar. Alangkah baiknya jika kita memberi nama yang lebih jelas seperti ini:

int elapsedTimeInDays;

Penamaan yang baik juga membantu kita dalam memahami dan memodifikasi kode program. Perhatikan senarai program dibawah ini.

public List GetThem(List Persons)
{
   var p = new List();
   foreach (var person in Persons)
   {
      if (person.Gender == 0)
        p.Add(person);
    }
    return p;
}

Senarai  di atas bisa kita refaktor menjadi kode program yang lebih mudah dimengerti dengan menjawab pertanyaan di bawah ini.

  1. Apa maksud dari fungsi ini?
  2. Nilai 0 pada kondisi Gender mengacu pada apa
public List GetFemaleInPersons(List Persons)
        {
            var femaleInPersons = new List();
            foreach (var person in Persons)
            {
                if (person.Gender == (int)Gender.Female)
                    females.Add(person);
            }
            return femaleInPersons;
        }

Seringkali kita memberikan penamaan argument (parameter yang dilewatkan pada sebuah fungsi) yang bisa membuat pengguna fungsinya harus membaca keseluruhan kode program untuk mengetahui argument sumber dan argument tujuan pada proses duplikasi larik.

public static void CopyChar(char[] a1, char[] a2)
        {
            for (int i = 0; i < a1.Length; i++)
            {
                a2[i] = a1[i];
            }
        }

Tentu lebih baik jika penamaan argument a1 diganti menjadi source dan a2 diganti menjadi destination.

public static void CopyChar(char[] source, char[] destination)
        {
            for (int i = 0; i < source.Length; i++)
            {
                destination[i] = source[i];
            }
        }

Satu pemikiran pada “Clean Code – Naming Part I

  1. Ping balik: Clean Code – Naming Part II | AdnanSetiawan's Blog

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s