1. Design smell merupakan permasalahan yang muncul ketika program tidak memiliki
struktur kode yang baik. Berdasarkan topik ini, jawablah beberapa pertanyaan berikut.
a. Apa yang dimaksud dengan Refactoring?
Jawaban :
Refactoring adalah salah satu komponen dari tiga komponen pada proses TDD
yaitu test (red), implement (green), refactor (blue). Menurut buku Martin Fowler,
refactoring adalah proses mengubah sistem dari suatu perangakat lunak tanpa
mengubah perilaku eksternal (fungsionalitas akhir) dari perangkat lunak tersebut.
Tujuan utama dari refactoring adalah meningkatkan kualitas struktur internal dari
perangkat lunak. Refactoring merupakan langkah untuk “membersihkan” code
sehingga dapat meminimalkan peluang munculnya software defect (bug) pada
implementasi yang dibuat. Jadi secara umum, ketika kita melakukan refactor, kita
sedang meningkatkan kualitas desain dari perangkat lunak kita.
b. Apa saja keuntungan dari Refactoring?
Jawaban :
Beberapa Manfaat Refactoring
2. Carilah contoh untuk setiap jenis code smell pada Bloater design smell berikut (tidak
boleh menggunakan contoh yang telah dijelaskan pada slide):
a. Long method
Jawaban : (contoh: template method DP) (Extract class/method, Replace data
value with object)
b. Large class
Jawaban :
Reference:
- https://medium.com/ppl-sutopo/refactoring-6e0e047c285e|
- https://www.altexsoft.com/blog/engineering/code-refactoring-best-practices-when-and-when-not-to-
do-it/