Single Quotes and Double Quotes are Very Different
$name = 'Amran';
echo "Hi $name"; // Output 'Hi Amran'
echo 'Hi $name'; // Output 'Hi $name'
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
. 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
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.
PHP Advent muncul lagi. PHP Advent adalah satu konsep, di mana setiap hari dalam bulan December akan disiarkan satu artikel mengenai PHP. Tips, tutorial, praktis terbaik dalam PHP akan dikongsi oleh pembangun-pembangun PHP. Untuk kali ini, sudah ada 2 artikel yang ditulis
Untuk menjadikan yang terbaik bagi PHP.net.my, saya akan cuba merumuskan setiap artikel dari PHP Advent 2009 dalam artikel di PHP.net.my. Bukan terjemahan penuh, tapi rumusan bagi setiap artikel. Kepada sesiapa yang tidak sabar, boleh terus membaca di halaman web PHP Advent 2009.
Jika anda pernah dengar framework CakePHP (yang digembar-gemburkan di PHP.net.my) Code Igniter, Symfony, Zend tetapi pernahkah anda dengar DooPHP ?
Dari halaman web mereka menyatakan bahawa DooPHP adalah framework MVC terpantas ? Tahukah anda bahawa DooPHP diasaskan dari Malaysia ? Pengaturcara yang bernama Leng Seng Hong a.k.a darkredz merupakan pengasas DooPHP. Saya tidak dapat mencari sejarah asal dari halaman web mereka, tetapi dari siasatan awal, anda boleh baca temuramah beliau di sini. Framework yang masih muda, dilancarkan pada Jun 2009 dan daripada forum mereka, framework ini mendapat sambutan yang amat menggalakkan.
Saya mungkin akan berhubung dengan beliau untuk temuramah khas tentang DooPHP dan mungkin boleh mengadakan penerangan di PHP Talk akan datang. Apa-apa pun, dengan semangat 1Malaysia, mungkin DooPHP boleh ?. DooPHP juga memerlukan pembangun dari Malaysia untuk membantu beliau mencipta nama dimata dunia, jika anda berminat guna, komen, dokumentasi, hantar patch kepada pembangun-pembangun DooPHP di halaman Google code mereka.
Sila komen di sini jika anda pernah mendengar atau menggunakan framework ini
PHP.net.my memerlukan bantuan anda ! . Menyumbang artikel di halaman komuniti memerlukan masa dan idea. Sudah masanya saya menyerahkan kepada komuniti untuk turut menyumbang kepada PHP.net.my .
Jika anda ada idea tentang PHP dan ingin berkongsi dengan semua sila klik pautan di sebelah kanan (Submit Tips | News) . Klik pada News dan taipkan sumbangan anda kepada kami. Artikel / tutorial tidak semestinya panjang. Contoh:
Tajuk: PHP 5.3 dilancarkan
Kandungan: PHP 5.3 baru dilancarkan di PHP.net , menyertakan feature baru seperti namespace memudahkan penggemar Object Oriented mengeluarkan air liur mereka. Pergi ke sini untuk melihat feature dan bug fix 5.3 . Dan klik di sini untuk muat turun PHP 5.3
Jadi apa tunggu lagi ? Mulakan taipan anda dan sumbang idea anda di sini !! . Artikel yang di hantar akan di pantau sebelum di siarkan. Sekiah terima kasih
.