2. Beberapa bahasa pemrograman yang dicampur menjadi
satu, lalu menghasilkan kode yang berbelit-belit, sulit
dipahami, dan tidak terstruktur.
Kemudian menyebabkan kumpulan kode tersebut sulit
untuk di-maintenance, tidak bisa digunakan kembali,
atau bahkan sulit dipahami oleh seorang developer itu
sendiri.
Pengertian
3. Native PHP
PHP, secara natural
memang memiliki
semacam kelebihan
(bisa dikatakan
bakat) untuk
menghasilkan
Spaghetti Code!
6. PHP Framework
Sebuah php framework adalah alat yang
menyederhanakan persoalan, dengan menyediakan
library yang sering digunakan sehingga developer bisa
menuntaskan tugasnya lebih cepat.
7. PHP Framework
Hal-hal lain yang diperkenalkan oleh PHP Framework :
Organisasi kode.
Mempromosikan standar penulisan kode.
Mempromosikan reusabilitas kode.
8. PHP Framework
Namun, tugas PHP Framework hanyalah
menyederhanakan. Sekali-lagi, menyederhanakan.
Bukan menyelesaikan.
9. PHP Framework
“Laravel is a clean and classy framework for PHP web
development. Freeing you from spaghetti code, Laravel
helps you create wonderful applications using simple,
expressive syntax,” katanya.
10. PHP Framework
Problem utama pada (semua) PHP Framework :
Kapabilitas dari suatu produk atau sistem untuk
berinteraksi dan berfungsi dengan produk atau
sistem lain, kini atau di masa mendatang, tanpa
batasan akses atau implementasi.
(interopabilitas)
12. Tanda-Tanda Spaghetti Code
- IF..ELSEIF..ELSEIF..
if ($status == "awake"){
$actitivity = "Writing spaghetti code";
}elseif($healthstatus == "OK"){
$activity = "Sleep";
}else{
print "CALL 911 IMMEDIATELY!";
}
- Error Berantai
Parse error: parse error in /home/index.php on line 140
20 minutes later
Parse error: parse error in /home/index.php on line 141
20 minutes later
Parse error: parse error in /home/index.php on line 142
13. Tanda-Tanda Spaghetti Code
- Include tak terhingga
index.php:
<?php include("menu.php");?>
...
menu.php:
<?php include("navigation.php");?>
...
navigation.php:
<?php include("newmenu.php");?>
...
newmenu.php:
<?php include("newmenu_final.php");?>
...
- Kode HTML dalam sebuah fungsi
- Membuat class yang terpisah untuk satu function
- Pernyataan IF yang mengharuskan developer untuk scroll teks editor ke kanan
- Tidak Ada Komentar
http://www.webmasterworld.com/forum88/2884-4-30.htm
15. Clean Code
Tidak adanya redundansi
Ketika prinsip ini sudah terpakai, maka ketika ada
kesalahan kecil, tidak perlu melakukan perubahan yang
banyak.
Menyenangkan ketika dibaca
Buatlah sesimpel mungkin dan hindari yang tidak
dibutuhkan.
16. Clean Code
Mudah dipahami oleh developer lain
Seorang developer tidak menulis kode untuk dirinya
sendiri, atau untuk compiler. Namun, developer menulis
kode untuk developer lain.
Minimalkan Dependencies
Lebih banyak dependency, maka kedepannya akan
lebih sulit untuk mengelola dan mengubahnya.
17. Clean Code
Memiliki Unit Testing
Untuk mengetahui apakah sudah berjalan sesuai
dengan rencana.
Ekspresif
Baik itu variabel, class, atau function harus memiliki
nama yang sesuai dengan intensinya. http://c2.
com/cgi/wiki?SelfDocumentingCode