. Ndi …

They may forget Ur Good deeds, Just do Good…

Coding Standard

leave a comment »

Artikel ini sepenuhnya bukan milik saya, saya mendapatkan dari rekan Adi, saya share disini siapa tahu berguna bagi rekan-rekan yang lain.

Coding standard berikut merupakan terapan yang sama digunakan dengan Coding standard PHP-Pear dengan beberapa modifikasi.

1a. Nama Class, Fungsi & Metode
berdasarkan hirarki parent & child, Bisa menggunakan kombinasi huruf besar dan kecil. misal:
nama class = html
nama fungsi = html_print()
nama class = DBconnect
nama fungsi = DBconnect_FetchData()
nama fungsi = DBconnect_Close()

1b. Konstan

[php]
define(EMAIL_WEBMASTER, ‘webmaster@foo.com’);
define(EMAIL_SUPPORT, ‘support@foo.com’);
define(NL, ‘\n’);
[/php]

2. Indenting
indent/margin menggunakan spasi 4 karakter. TIDAK menggunakan tab

3. Struktur kontrol
struktur kontrol dipisahkan satu spasi sebelum keyword dan kurung kurawal buka. mis:

[php]
if ((condition1) || (condition2)) {
action1;
} elseif ((condition3) && (condition4)) {
action2;
} else {
defaultaction;
}
[/php]

4. memanggil fungsi
tidak ada spasi antara nama fungsi, kurung buka dan parameter pertama, spasi setelah koma diantara parameter, dan tidak ada spasi antara parameter terakhir dan kurung tutup.

[php]
$var = foo($bar, $baz, $quux);
[/php]

juga ada spasi diantara tanda “=”. atau jika ada beberapa assignment dalam satu blok, posisi tanda “=” bisa dibuat sama.

[php]
$short = foo($bar);
$long_variable = foo($baz);
[/php]

5. Deklarasi Fungsi
deklarasi fungsi menggunakan konvensi “one true brace”

[php]
function fooFunction($arg1, $arg2 = ”) {
if (condition) {
statement;
}
return $val;
}
[/php]

argumen dengan nilai default dimasukan di akhir argumen. selalu menghasilkan value yang berguna.

[php]
function connect(&$dsn, $persistent = false) {
if (is_array($dsn)) {
$dsninfo = &$dsn;
} else {
$dsninfo = DB::parseDSN($dsn);
}
if (!$dsninfo || !$dsninfo[‘phptype’]) {
return $this->raiseError();
}
return true;
}
[/php]

6. Comment
Untuk dokumentasi di dalam skrip, bisa menggunakan gaya C /* */ atau C++ //. Untuk lebih memudahkan pengaturan dokumentasi, bisa menggunakan aturan PHPDoc yang mirip dengan JavaDoc. Untuk detail silakan lihat http://www.phpdoc.de

Dokumentasi/catatan di dlm skrip sangat dianjurkan untuk memudahkan kita mengetahui jalan dan alur skrip.

7. Including Code
Jika ingin memasukkan file lain, mis: file-file class/library sebaiknya menggunakan statement require_once() atau include_once() untuk memastikan bahwa file tsb hanya dipanggil sekali.

8. Header Comment
Dianjurkan utk setiap file terdapat informasi header, menggunakan struktur berikut:

[php]
/* —————————————————————————
Copyright (C) 2002 by IDE Development Team.
http://www.ide.or.id
——————————————————————————
File Name: db.lib.php
Author: Slamet
——————————————————————————
Purpose of File:
class for database abstraction layer. currently only support MySQL.
——————————————————————————
Requirement:
PHP 4.02 or later version
——————————————————————————
License
To read the license please visit
http://www.gnu.org/copyleft/gpl.html
——————————————————————————
Changelog
2002/05/05:Slamet – minor fix
————————————————————————— */
[/php]

Written by ndi

March 26, 2009 at 8:28 pm

Posted in PHP

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: