spaghetti code
Post on 21-Aug-2015
101 Views
Preview:
TRANSCRIPT
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
Native PHP
PHP, secara natural
memang memiliki
semacam kelebihan
(bisa dikatakan
bakat) untuk
menghasilkan
Spaghetti Code!
Modularitas.
Pengorganisasian Kode.
Pembagian antara fungsi dan tujuan.
Kemungkinan penggunaan ulang.
Isu Spaghetti Code
PHP Framework
Sebuah php framework adalah alat yang
menyederhanakan persoalan, dengan menyediakan
library yang sering digunakan sehingga developer bisa
menuntaskan tugasnya lebih cepat.
PHP Framework
Hal-hal lain yang diperkenalkan oleh PHP Framework :
Organisasi kode.
Mempromosikan standar penulisan kode.
Mempromosikan reusabilitas kode.
PHP Framework
Namun, tugas PHP Framework hanyalah
menyederhanakan. Sekali-lagi, menyederhanakan.
Bukan menyelesaikan.
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.
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)
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
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
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.
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.
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
Daftar Pustaka
● https://gist.github.com/toopay/7086599● http://blog.goyello.com/2013/01/21/top-9-
principles-clean-code/● http://blog.pluralsight.com/7-reasons-clean-code-
matters● http://www.webmasterworld.com/forum88/2884.
htm● http://www.workingsoftware.com.
au/page/Your_templating_engine_sucks_and_everything_you_have_ever_written_is_spaghetti_code_yes_you
● http://en.wikipedia.org/wiki/Spaghetti_code● http://c2.com/cgi/wiki?SelfDocumentingCode●
top related