Tips Php : Php yang Baik dan Benar

Posted by love your self first On Minggu, 02 Desember 2012 2 komentar

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)  
:P
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:

Fagen Zo mengatakan...

sudah saya follow
members ke 4
atas nama RIZAL HERMAWAN
di tunggu follback ya !
http://fagenzo.blogspot.com/

love your self first mengatakan...

segera meluncur gan....

Posting Komentar