Penulisan kode yang baik akan sangat berguna jika program buatan kita akan diteruskan oleh programmer lain. Dengan kode yang baik dan rapi, kode dapat lebih enak dilihat dan orang lain (yang mau meneruskan pengetikan isi program) akan lebih mengerti dan memahami isi program. Jika kode dibuat acak-acakan alias ‘seenaknya saja’, maka orang yang melihat pun akan cenderung malas untuk melihat isi program dan bahkan tidak memahami struktur program yang dibuat.
OK, berikut ini adalah beberapa aturan bagaimana cara pengetikan kode program pada PHP yang mana peraturan ini sudah terstandarisasi, jadi semua orang akan sepakat untuk menuruti aturan ini. Catatan: setiap aturan pada setiap framework mungkin berbeda
Penamaan Class
SALAH:
class superclass
BENAR:
class Super_class class SuperClass
CONTOH:
class Super_class { function __construct() { } }
class SuperClass { function __construct() { } }
Penamaan Function
SALAH:
function fileproperties() // tidak deskriptif, membutuhkan underscore function fileProperties() // tidak deskriptif dan menggunakan CamelCase function getfileproperties() // Lebih baik! Tetapi masih menggunakan underscore function getFileProperties() // menggunakan CamelCase function get_the_file_properties_from_the_file() // Terlalu banyak kata (njelimet)
BENAR:
function get_file_properties() // Deskriptif, ada pemisahan dengan underscore, dan huruf kecil semua
Penamaan Variable
SALAH:
$j = 'foo'; // satu huruf lebih baik digunakan untuk variable yang digunakan pada pengulangan $Str // ada huruf yang kapital, ini bukan objek! $bufferedText // menggunakan CamelCasing, dan dapat dipendekkan tanpa menghilangkan maksud semantik $groupid // dua kata tapi tidak memakai underscore, tidak deskriptif $name_of_last_city_used // terlalu njelimet lagi ???
BENAR:
for ($j = 0; $j < 10; $j++) $str $buffer $group_id $last_city
Constants
SALAH:
myConstant // tidak ada underscore dan tidak full kapital N // Jangan ada constant yang menggunakan satu karakter S_C_VER // tidak deskriptif
BENAR:
MY_CONSTANT NEWLINE SUPER_CLASS_VERSION
TRUE, FALSE, dan NULL
Harus menggunakan full karakter kapital (uppercase)
SALAH:
if ($foo == true) $bar = false; function foo($bar = null)
BENAR:
if ($foo == TRUE) $bar = FALSE; function foo($bar = NULL)
Operator Logika
SALAH:
if ($foo || $bar) if ($foo AND $bar) // OK tapi tidak direkomendasikan untuk IDE yang mengandung syntax highlighting if (!$foo) if (! is_array($foo))
BENAR:
if ($foo OR $bar) if ($foo && $bar) // recommended if ( ! $foo) if ( ! is_array($foo))
Whitespace
Jangan ada ‘spasi’ sebelum tag
SALAH:
<?php // ...ada whitespace sebelum php dibuat ?>
—
BENAR:
<?php // ...Tidak ada whitespace sebelum php dibuat ?>
—
Code Indenting
Tabulasi pada penulisan kode program
KURANG BAIK:
function foo($bar) { // ... } foreach ($arr as $key => $val) { // ... } if ($foo == $bar) { // ... } else { // ... } for ($i = 0; $i < 10; $i++) { for ($j = 0; $j < 10; $j++) { // ... } }
BAIK:
function foo($bar) { // ... } foreach ($arr as $key => $val) { // ... } if ($foo == $bar) { // ... } else { // ... } for ($i = 0; $i < 10; $i++) { for ($j = 0; $j < 10; $j++) { // ... } }
Bracket dan Parenthetic Spacing
SALAH:
$arr< $foo > = 'foo'; //ada spasi di dalam bracket
BENAR:
$arr<$foo> = 'foo'; // tidak ada spasi di dalam bracket
SALAH:
function foo ( $bar ) { }
BENAR:
function foo($bar) // tidak ada spasi di dalam parameter { }
SALAH:
foreach( $query->result() as $row )
BENAR:
foreach ($query->result() as $row)
Private dan Public Method
convert_text() // public method _convert_text() // private method
Short Open Tags
SALAH:
<? echo $foo; ?> <?=$foo?>
BENAR:
<?php echo $foo; ?>
Satu Statemen pada Satu Baris
SALAH:
$foo = 'this'; $bar = 'that'; $bat = str_replace($foo, $bar, $bag);
BENAR:
$foo = 'this'; $bar = 'that'; $bat = str_replace($foo, $bar, $bag);
Strings
SALAH:
"My String" // tidak ada variable yang diparsing, lebih baik satu tanda kutip "My string $foo" // membutuhkan kurung kurawal 'SELECT foo FROM bar WHERE baz = \'bag\'' // jelek
CORRECT:
'My String' "My string {$foo}" "SELECT foo FROM bar WHERE baz = 'bag'"
Query SQL
SALAH:
$query = mysql_query("select foo, bar, baz, foofoo, foobar as raboof, foobaz from exp_pre_email_addresses where foo != 'oof' and baz != 'zab' order by foobaz limit 5, 100"); //susah dibaca
BENAR:
$query = mysql_query("SELECT foo, bar, baz, foofoo, foobar AS raboof, foobaz FROM exp_pre_email_addresses WHERE foo != 'oof' AND baz != 'zab' ORDER BY foobaz LIMIT 5, 100"); //lebih mudah dibaca
ARTIKEL TERKAIT:
2 komentar:
sudah saya follow
members ke 4
atas nama RIZAL HERMAWAN
di tunggu follback ya !
http://fagenzo.blogspot.com/
segera meluncur gan....
Posting Komentar