Kod yang di fahami

Ini adalah rumusan dari PHP Advent 2009 : Comprehensible Code oleh Paul M Jones.

Seorang yang bodoh boleh menulis kod yang komputer faham. Pengaturcara yang baik, menulis kod yang manusia faham – Refactoring : Improving the Design of Existing Code, by Martin Fowler .

Membaca adalah sukar dan memerlukan usaha yang tinggi ( Jika tidak, sudah tentu peratus membaca di M’sia sangat tinggi ) . Setelah anda pandai membaca, anda biasa memandang rendah usaha membaca. Membaca dengan usaha untuk memahami masih kekal satu kerja yang sukar bagi semua.

Cuba bayangkan apakah usaha yang diperlukan untuk membaca kod orang lain ? . Bukan sahaja anda memerlukan pengetahuan dalam bahasa tersebut, anda perlu memahami corak dan struktur pengaturcaraan tersebut. Setiap pengaturcara adalah seorang pengarang yang mempunyai corak sendiri. Walaupun bahasa pengaturcaran tidak selembut bahasa percakapan, ia masih memerlukan usaha yang tinggi untuk memahaminya.

Usaha lawan Ganjaran

Membaca kod orang lain, dirasakan sebagai tidak produktif (Cuba anda habiskan masa membaca kod orang lain di ofis dalam masa satu hari, ia akan dianggap anda mencuri tulang sama dengan bermain Farmville di Facebook Wink . Dengan membaca, anda mungkin mendapat pengetahuan tentang pengaturcaraan, tetapi anda tidak menghasilkan perkara baru. Kepada pengaturcara, terutamanya yang berfikir mereka hanya dibayar untuk menulis kod (dah bukan membaca) , tahap usaha yang diperlukan untuk memahami kod orang lain adalah seperti membuang masa. Tahap usaha dengan ganjaran yang diterima sangat mengecewakan.

Tetapi, ganjaran untuk usaha menulis kod sangat mudah dan dirasakan sangat positif. Ia kurang mengecewakan dari cuba memahami kod orang lain, kerana anda adalah pembangun tersebut. Ia dirasakan amat positif oleh kerana setiap baris baru adalah satu yang anda boleh tunjuk sebagai hasil kepada usaha anda. Perasaan ini sangat sukar untuk ditolak.

Kod sebagai komunikasi

Masalah besar bagi membaca kod orang lain adalah mereka tidak berfikir tentang masa hadapan, tidak memikirkan kepada pembangun yang membaca aturcara mereka. Ia adalah normal untuk memikirkan kod anda adalah untuk komputer, tetapi fikiran tersebut adalah salah. Sebagai pengaturcara, anda terpaksa berhadapan dengan dua pembaca: komputer dan pengaturcara lain. Program anda adalah satu medium untuk komunikasi tidak langsung kepada pembangun lain. Kod adalah perbualan di antara anda dengan pengaturcara lain yang perlu berinteraksi dengannya.

Untuk pengaturcara lain , membaca kod anda adalah kerja yang sukar. Kepada merkea, membaca kod anda adalah pembelajaran yang baru. Mereka terpaksa belajar memahami apa yang anda cuba selesaikan dan kenapa anda perlu mengambil pendeketan tersebut. Setelah anda sedar, bahawa membaca kod adalah satu pembelajaran, anda akan mula menghargai bahawa anda harus menulis sebagai pengajarang kepada mereka supaya mudah memahami kod anda dengan lebih pantas. Ia memang lebih banyak kerja kepada anda, tetapi ganjaran yang tinggi bagi kerja tersebut adalah antara sebab pengaturcara suka (untuk terus membaca kod anda ).

Singkatan: apabila anda menulis kod, ingatlah kepada sesiapa yang malang terpaksa membaca kod anda. Orang yang malang itu mungkin anda dalam masa enam bulan akan datang.

Ke arah komunikasi yang lebih baik

1. Gunakan standard aturcara yang digunakan oleh orang lain. Saya adalah peminat bagi Pear style guide.
2. Pengaturcara adalah siri arahan, bukanlah ayat yang bersiri . Secara kasarnya, lebih baik menggunakan kod yang lebih panjang dan mudah difahami dari pendek dan memerlukan masa untuk pemahaman.
3. Tukar cara yang anda rasa bijak di dalam kod, kepada cara yang lebih mudah dan jelas. Anda mungkin rasa anda ingin menunjukkan anda bijak dengan menggunakan sintaks yang pendek.Tetapi dengan niat tersebut, anda menyusahkan pengaturcara lain untuk memahami kod anda. Jika perlu untuk “menunjuk”, sila komen kod anda seperti karangan lebih 80 patah perkataan (saya menambah)

Seni dalam perbualan.

Pemahaman teknikal dalam bahasa pengaturcaraan, tidak menjamin anda seorang yang mempunyai bakat untuk berkomunikasi di dalam kod. Seperti perbualan biasa, ia adalah satu seni dan bukan sains. Ia adalah bakat yang akan berkembang dengan latihan dan sentiasa ada ruang untuk diperbaiki.

Dengan melihat kod anda sebagai peluang untuk berkomunikasi dengan pembangun lain, saya harap anda akan melihat habuan yang tinggi bagi menulis sebagai pengajaran kepada orang yang perlu bekerja dengan kod anda, dengan itu menghadiahkan ganjaran yang tinggi bagi usaha membaca kod anda.

Memperbaiki kualiti perbualan anda di dalam kod akan meningkatkan lebih ramai orang bekerja dengan kod anda dan mengurangkan kekecewaan bagi orang lain memahami kehendak kod anda. Untuk orang lain, membaca dan memahamkan kod anda adalah kerja yang berat. Sentiasa ingat bahawa pembangun yang lain itu mungkin ada pada masa akan datang, datang semula untuk mengemaskinikan kerja anda. Jika bukan untuk orang lain, tulis kod yang mudah difahami untuk anda.

Sumber: PHP.NET.MY

Comments