[EPL] Tugas 7 (Pertemuan 11) - Refactoring

Nama : Ichlasul Hasanat

NRP : 5025201091

----

    Kode yang akan di-refactor adalah bagian dari sistem e-commerce yang menangani proses pesanan. Saat ini, proses tersebut terdapat dalam satu fungsi yang kompleks, dengan tingkat nested if-else function yang tinggi. Untuk meningkatkan keterbacaan, pemeliharaan, dan pengelolaan kode, saya akan melakukan refactoring dengan memisahkan logika validasi pesanan ke dalam fungsi terpisah. Tujuan utama dari refactor ini adalah untuk menyederhanakan struktur kode, memisahkan tanggung jawab, dan memastikan bahwa setiap bagian dari proses pesanan dapat diakses dan dimodifikasi dengan lebih mudah di masa mendatang.

    Dalam kasus ini, terdapat fungsi proses_pesanan yang mengandung beberapa nested if-else function seperti berikut:


    Pertama, saya membuat fungsi pesanan_valid untuk memeriksa keseluruhan validitas pesanan. Fungsi ini akan mengembalikan nilai boolean berdasarkan kriteria validasi.



    Selanjutnya, saya menyederhanakan kode dalam fungsi proses_pesanan dengan menggunakan fungsi validasi yang baru.


    Berikut hasil akhir dari kode setelah dilakukan refactoring:


    Dengan proses refactor ini, saya telah memisahkan logika validasi pesanan ke dalam fungsi terpisah, menjadikan kode lebih bersih, mudah dipahami, dan mempermudah pemeliharaan di masa depan. Refactoring ini juga memberikan kejelasan tentang kriteria yang membuat pesanan valid, dan memudahkan penambahan atau perubahan aturan validasi di masa mendatang.


Komentar

Postingan Populer