5 menit kemudian 12 jam kemudian
Tolong bantu INI NAMANYA brai, sorry banget
lanjutin kodenya ya KENAPA DOBEL! yang codingan
bro! ane cabut dulu kemarin gimana?
NGE-SEARCH DATE
KOK GAK ADA?!
ASIYAAP gw baru
selese...
Penyusun Daftar Isi
Apa itu Clean Code? 3
Ciri-Ciri Penamaan Baik 5
KISS (Keep It So Simple) 7
DRY (Don’t Repeat Yourself) 9
WET (Write Everything Twice) 10
AHA (Avoid Hasty Abstraction) 10
Formatting 11
Refactoring 13
Do it Now! 15
Clean Code
Referensi
Martin, Robert C., editor. Clean Code: A Handbook of Agile Software
Craftsmanship. Prentice Hall, 2009.
Catalog of Refactorings. [Link]
Kenapa harus Clean Code? and accessed 26 March 2019.
“Code Refactoring.” Wikipedia, 15 Mar. 2019.
[Link]
1. 853856
Technical Debt. [Link] and
accessed 26 March 2019.
AHA Programming. [Link]
and accessed 26 March 2019.
WTFs/m – OSnews. [Link] and
2. Kode bisa aja terlihat bagus dan accessed 26 March 2019.
rapi, tapi sewaktu kamu harus Code Refactoring (Software Gardening - Pruning) | DotNetCurry.
[Link]
mengubahnya, kode yang “kotor”
ng and accessed 26 March 2019.
bisa membuatmu kesulitan.
3. Penulisan kode untuk jangka
panjang akan lebih cepat karena
mudah dipahami dan diubah.
Do it Now!
Contohnya?
Sama halnya dengan utang di bank, semakin lama kamu
Class worklifebalance {
menunda pembayaran, maka bunga dan denda yang harus i = 5
kamu bayar akan semakin besar. days_since_creation = 27 #days since creation
genydmhs = [Link]
time[:start]=~ /(0[8-9]|1[0-9]|2[0-1]):00/
Jadi, yang paling penting adalah ikuti prinsip-prinsip yang function search(id)
sudah dijabarkan di atas sekarang, ya. }
Class work_life_balance {
Semakin lama kamu work_days_per_week = 5
menunda, semakin banyak days_since_creation = 27
kode yang nantinya harus generatedTimestamp = [Link]
kamu bersihkan. #validate for 08.00 until 21.00
time[:start]=~ /(0[8-9]|1[0-9]|2[0-1]):00/
function search_user(id)
}
6 Ciri-Ciri Contoh-contoh Teknik Refactor
Penamaan Baik
1. Mudah Dipahami 1. Buat abstraksi,
Arti atau tujuan cukup jelas tanpa melihat isinya lebih jauh a.
atau pemakaiannya. b. Pakai tipe yang lebih umum.
search? search apa?
function search(id) search_user lebih jelas. c.
function search_user(id)
d.
2.
2. Mudah Dieja
Jangan sampai menyebut nama saja menjadi pekerjaan. 3. Percantik penamaan atau lokasi kode.
genydmhs = [Link] generated ja
year jadi y, d
di g, 4. Deteksi kode duplikat.
generatedTimestamp = [Link] st.
3. Mudah Dicari
Dengan nama yang cukup panjang atau unik.
i = 5
work_days_per_week = 5
4. Kadang Tidak
Refactoring
kome
n tida
Perlu Komentar k a ren k dipe
a nam rlukan
a su d a
h jelas
Arti atau tujuan cukup jelas tanpa melihat
isinya lebih jauh atau pemakaiannya.
days_since_creation = 27 #days since creation
5. Kadang Perlu Komentar
Komentar diperlukan jika ada informasi
tambahan pada kode yang perlu penjelasan.
#validate for 08.00 until 21.00
time[:start]=~ /(0[8-9]|1[0-9]|2[0-1]):00/
6. Patuhi Konvensi, Standar, dan Peraturan
Beda tempat bekerja, bisa jadi beda ketentuan. Patuhi
konvensi, standar, dan peraturan yang berlaku di tempat
kamu bekerja ya, supaya bisa bekerja dengan nyaman.
KISS ( Keep It
So Simple ) 4.
Deklarasikan variabel
5.
sedekat mungkin
dengan penggunaannya.
Perhatikan indentasi supaya
6.
tidak membuat salah paham.
7.
7 Saran Gimana Caranya KISS?
Formatting Baik
Lebar sebaris kode kurang
1.
lebih 80 - 120 karakter.
3. Jangan gunakan terlalu
2. banyak argumen dalam fungsi.
Usahakan baris kode yang
3.
berhubungan saling
berdekatan, supaya bacanya
nggak perlu loncat-loncat.
DRY ( ) WET ( )
Write
Don’t Repeat Everything
Yourself Twice
AHA ( Avoid Hasty
Abstraction )
Class Mechanic {
function ServiceCar() {
[Link]("servicing car now")
[Link]("performing other tasks")
}
function serviceBike() {
[Link]("servicing bike now")
[Link]("performing other tasks")
}
}