#kamiskoding 4: Mutu Kode Program

Selamat jumpa lagi di #kamiskoding. Hari ini kita bahas ttg mutu kode program (code quality). Bantu RT ya. Trims. *colek @nukman @jazle*🙂
Thu Mar 22 2012 – 16:31:52

Setelah beberapa pekan kita selalu bahas orgnya (programmer), gantian kali ini kita bahas kode programnya. Biar gak bosen. #kamiskoding
Thu Mar 22 2012 – 16:32:07

Setiap programmer yg baik, idealnya selalu hasilkan kode program dgn mutu yg baik pula. Bagaimana menilai mutu kode program? #kamiskoding
Thu Mar 22 2012 – 16:32:23

Ada banyak kriteria menilai mutu kode, ada faktor subyektifitas juga. Tapi IMO setidaknya ada 4 hal dasar yg menentukan, yaitu: #kamiskoding
Thu Mar 22 2012 – 16:32:38

1) Readability. Yaitu seberapa mudah kode utk dibaca dan dipahami maksud dan tujuannya. Makin mudah dipahami semakin baik. #kamiskoding
Thu Mar 22 2012 – 16:32:49

Faktor2 yg mendukungnya a.l sintaks bhs yg digunakan, komentar program yg cukup, penamaan yg baik, algoritma yg tepat, dst. #kamiskoding
Thu Mar 22 2012 – 16:33:02

Kode yg mudah dipahami bisa mencegah usaha pemasangan backdoor oleh programmer yg tak bertanggung jawab dgn teknik obscurity, #kamiskoding
Thu Mar 22 2012 – 16:33:15

memudahkan pencarian kesalahan (bug) sehingga memudahkan perawatan (maintenance), memudahkan utk dilanjutkan org lain, dsb. #kamiskoding
Thu Mar 22 2012 – 16:33:32

2) Ekstensibility. Yaitu seberapa mudah kode utk diubah dan dikembangkan lebih jauh. Makin mudah dikembangkan semakin baik. #kamiskoding
Thu Mar 22 2012 – 16:33:48

Faktor2 yg mendukungnya a.l desain program yg bagus, arsitektur program yg fleksibel, teknik coupling yg cocok, dst. #kamiskoding
Thu Mar 22 2012 – 16:34:00

Kode yg mudah diubah-kembangkan sangat penting, khususnya yg terapkan metode agile, krn biasanya sering terjadi perubahan. #kamiskoding
Thu Mar 22 2012 – 16:34:25

Selain itu juga penting dlm perencanaan roadmap krn perpindahan ke tahap selanjutnya bisa dilakukan dgn perubahan yg minimal. #kamiskoding
Thu Mar 22 2012 – 16:34:40

3) Atomicity. Yaitu keterpisahan dan keunikan kode program. Kode yg baik bagiannya terpisah/terkelompok scr rapi dan unik. #kamiskoding
Thu Mar 22 2012 – 16:34:54

Faktor2 yg mendukungnya a.l desain program yg bagus, disiplin penulisan yg tinggi, penerapan refactoring yg baik, dst. #kamiskoding
Thu Mar 22 2012 – 16:35:10

Kode yg tingkat atomicity-nya tinggi scr umum akan hasilkan kode program yg efektif dan efisien namun tetap relatif sederhana. #kamiskoding
Thu Mar 22 2012 – 16:35:34

Misal semua data dan operasi terkait biodata mahasiswa ada di class MAHASISWA, terpisah dgn class NILAI yg tampung nilai mhs. #kamiskoding
Thu Mar 22 2012 – 16:35:45

Misal operasi nilai mhs hanya ada di class NILAI saja, tidak terduplikasi di class KELAS, atau juga ada di class MATAKULIAH. #kamiskoding
Thu Mar 22 2012 – 16:35:58

4) Testability. Yaitu kemudahan dlm penerapan pengujian program. Tak hanya utk unit testing, tapi juga uji integrasi, dsb. #kamiskoding
Thu Mar 22 2012 – 16:36:12

Faktor2 yg mendukung a.l disiplin pengujian yg tinggi, desain pengujian yg baik, penerapan uji mutu (QA) yg bagus, dst. #kamiskoding
Thu Mar 22 2012 – 16:36:27

Kode yg tingkat keterujiannya tinggi scr umum akan hasilkan program yg stabil dan handal krn setiap bagiannya telah diuji baik. #kamiskoding
Thu Mar 22 2012 – 16:36:43

Ke-4 faktor di atas saling tarik-menarik satu sama lain. Kode yg tingkat keterujiannya baik, tentunya atomicity-nya akan baik. #kamiskoding
Thu Mar 22 2012 – 16:36:58

Kode yg readability-nya bagus, tentu mudah diubahkembangkan. Kode yg atomicity-nya baik, harusnya ekstensibility-nya baik. Dst. #kamiskoding
Thu Mar 22 2012 – 16:37:29

Scr keseluruhan, kode program yg mutunya bagus punya keseimbangan yg baik dalam implementasi ke-4 faktor tsb. Tidak timpang. #kamiskoding
Thu Mar 22 2012 – 16:37:40

Selain imbang, juga harus proporsional sesuai yg dibutuhkan. Implementasi yg berlebihan akan hasilkan kode yg over-engineered. #kamiskoding
Thu Mar 22 2012 – 16:37:50

Yaitu kode yg terlalu “bagus”. Misalnya, optimasi kinerja yg berlebihan, class terlalu kompleks, komentar terlalu detil, dst. #kamiskoding
Thu Mar 22 2012 – 16:38:03

Walaupun scr teknis kode yg terlalu “bagus” itu tak masalah, namun scr waktu dan sumber daya menjadi berlebihan juga (boros). #kamiskoding
Thu Mar 22 2012 – 16:38:20

Misal, program yg harusnya bisa diselesaikan oleh 3 org dlm waktu 3 minggu bisa “bengkak” jadi butuh 5 org dlm waktu 5 minggu. #kamiskoding
Thu Mar 22 2012 – 16:38:33

Scr manajemen itu tidak bagus, baik thd programmer itu sendiri maupun thd pelanggan. Apapun yg berlebihan memang tak baik.🙂 #kamiskoding
Thu Mar 22 2012 – 16:38:51

Demikian bahasan #kamiskoding kali ini. Silakan jika ada tanggapan/saran/kritik. Semoga bermanfaat. Terima kasih.🙂 #kamiskoding
Thu Mar 22 2012 – 16:39:13

One Response to #kamiskoding 4: Mutu Kode Program

  1. wah.. keren mas bro..

    coba di nilai stuktur kode program saya mas bro..
    http://kodeprogramcpp.blogspot.com/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: