PHP Tips & Trik Lanjutan: Clean Code dan Coding Standar
-
Upload
medidu -
Category
Technology
-
view
658 -
download
4
description
Transcript of PHP Tips & Trik Lanjutan: Clean Code dan Coding Standar
PHP TUTORIAL & TIPSPetunjuk praktis untuk sukses mengerjakan proyek berbasis PHP
TUJUAN
● Meningkatkan kemampuan peserta dalam
menggunakan PHP dan siap terlibat dalam
proyek berbasis PHP
PRA SYARAT
● Telah menguasai prinsip pemrograman dasar
baik prosedural maupun OOP
● Telah dapat membuat program PHP sederhana
yaitu:
○ Variabel, fungsi, konstanta, komentar
○ Koneksi dengan Basis Data
● Telah dapat menggunakan OOP di PHP
TOPIK
● Tips Menghasilkan Kode yang Baik (Clean Code)
dan menerapkan coding standard
● Meningkatkan Keamanan PHP
● Pemilihan Framework
● Membuat Dokumentasi
● 10 Referensi PHP yang Perlu Diketahui
Clean Code
&
Coding Standard
TARGET
● Mudah ditulis
Kemampuan untuk mengubah software secara
cepat
● Mudah dibaca
Kemampuan untuk memahami software secara
cepat
TARGET (2)
Untuk bisa mudah ditulis
harus mudah dibaca!
=> Mempermudah KOLABORASI
Good programmer write code
for machine (compiler)
Great programmer write code
for other programmer
PENGUKURAN
The only valid measurement of
code quality:
WTFs / minute
CHECK LISTHal yang perlu diperhatikan untuk mengurangi
WTFs/menit:
1. Kerapihan
a. Indentasi
b. Pengelompokan baris kode
c. Komentar
2. Simplifikasi
3. Penamaan dan Penulisan yang benar
Indentasi
BAD indentation
Contoh indentasi yang salah:
BETTER indentation
Indentasi (2)
Indentasi (3)
● Pilih spasi dibanding Tab
○ pada mayoritas text editor telah ada pengaturan 1
tab = x spasi
● 4 spasi untuk satu indentasi
Pengelompokan Baris Kode
Mengelompokkan baris kode yang memiliki
keterkaitan ke dalam satu blok kode, dipisahkan
baris kosong dengan blok kode lainnya.
Masing-masing blok diberi komentar untuk
memperjelas apa yang dilakukan blok kode
tersebut
Pengelompokan Baris KodeContoh pengelompokan baris kode:
BAD Line Grouping
BETTER Line Grouping
Pengelompokan Baris Kode (2)
● Ada satu baris kosong setelah Namespace dan
setelah blok use. Dan satu baris kosong di setiap
akhir file
● { setelah Kelas maupun Fungsi diletakkan di
baris baru dan } diletakkan di baris selanjutnya
setelah body
● Satu baris kode maksimum 80 karakter
● Perhatikan peletakan spasi, {, }, [, ], koma, dan
baris pada contoh-contoh berikut:
Extends dan implements ditulis dalam satu baris setelah nama kelas. Jika implements lebih dari satu, buat di baris baru dengan indentasi. Satu implement satu barisPublic / privat dideklarasikan pada
properti. Satu baris satu deklarasi properti
Perhatikan penulisan argumen pada fungsi. Argumen dipisahkan oleh tanda koma tanpa spasi sebelumnya
Perhatikan penulisan objek kelas, tanpa spasi
{ ditulis dalam satu baris. Hal ini berlaku bagi pernyataan while, switch, dll
Simplifikasi
● Kode yang lebih singkat akan mudah dimengerti
dan di-debug
● Fokus pada satu masalah. Satu Kelas disimpan
dalam satu file. Satu buah fungsi sebaiknya
hanya fokus untuk menyelesaikan satu task. Satu
baris kode sebaiknya hanya fokus pada suatu
pernyataan
Simplifikasi (2)Contoh Simplifikasi
Before
After
Simplifikasi (3)
Simplifikasi (4)
● Sebuah file mendeklarasikan simbol baru
(kelas, fungsi, konstanta, dll.) dan tidak
menimbulkan “efek samping”, atau
mengeksekusi hanya “efek samping” tapi
tidak keduanya
Bingung?Liat contoh berikut!
X Contoh Salah
V Benar
Penamaan
There are only two hard problems in Computer
Science: cache invalidation, naming things, and
off-by-one errors
- Phil Karlton
Penamaan (2)
Nama yang tepat pada kelas/fungsi/variabel
akan memberikan kita info yang dibutuhkan
tanpa dokumentasi sekalipun
Penamaan (3)
Penulisan
● Nama Kelas => MixedCase
● Fungsi => camelCase
● Konstanta => ALL_CAPS
● Variabel / properti => camelCase
● Gunakan tag <?php atau <=
● Semua file PHP menggunakan Unix LF (linefeed)
line ending dan UTF-8 tanpa BOM
Pilihan Coding Standard
● Jangan temukan/gunakan standar sendiri.
● Gunakan standar yang telah ada○ Gunakan standar yang telah disetujui oleh banyak pihak.
○ Atau pilih standar yang kompatibel dengan library/modul
yang akan digunakan
○ Atau gunakan standar sesuai dengan permintaan saat
outsourcing (sesuaikan dengan kondisi yang ada)
● Tetap gunakan satu standar yang dipilih, jangan
dicampur antara standar yang satu dengan yang
lain
Referensi Coding Standard
● PEAR-like codding standard● PSR (direkomendasikan)
http://www.php-fig.org/psr/0
http://www.php-fig.org/psr/1
http://www.php-fig.org/psr/2
http://www.php-fig.org/psr/3