Tugas 7 EPL: Refactoring

Nama: Lia Kharisma Putri NRP: 5025201034 Kelas: Evolusi Perangkat Lunak Tahun: 2023 TUGAS 7 REFACTORING Berikut adalah contoh implementasi dalam PHP untuk proses pendaftaran siswa baru pada sebuah aplikasi, baik sebelum maupun setelah refactoring: Sebelum: Penjelasan Kode Sebelum Refactoring: Kode memiliki tanggung jawab ganda, yaitu melakukan pendaftaran siswa dan mengirim notifikasi. Terdapat redundansi kode untuk validasi NISN dan NIK. Penggunaan string query langsung tanpa prepared statement, rentan terhadap SQL injection. Tidak ada penanganan kesalahan yang baik pada level aplikasi. Sesudah: Penjelasan Kode Setelah Refactoring: Kode telah dibagi menjadi fungsi-fungsi yang lebih kecil dan berfokus pada satu tanggung jawab. Menggunakan parameterized query untuk mencegah SQL injection. Menambahkan fungsi untuk menyimpan data ke database sehingga mempermudah pemeliharaan dan pengujian. Konsep dependency injection digunakan untuk menyediakan objek koneksi database secara eksternal. Pen...