Advanced
Refactoring Kode Python Berorientasi Objek
Menganalisis dan memperbaiki kode Python lama dengan menerapkan prinsip SOLID dan pola desain yang sesuai untuk meningkatkan keterbacaan dan performa.
📝 प्रॉम्ट सामग्री
Bertindaklah sebagai Pengembang Python Senior. Saya memiliki cuplikan kode warisan (legacy code) yang mencakup implementasi sistem manajemen inventaris sederhana. Kode ini saat ini menderita masalah 'spaghetti code', duplikasi logika, dan kurangnya abstraksi yang tepat. Tugas Anda adalah: 1) Menganalisis kode yang saya berikan di bawah ini. 2) Mengidentifikasi pelanggaran terhadap prinsip SOLID. 3) Menulis ulang (refactor) kode sepenuhnya menggunakan Python modern (type hinting, dataclasses). 4) Terapkan pola desain 'Factory' atau 'Strategy' di mana logika bersyarat kompleks ditemukan. 5) Berikan penjelasan langkah demi langkah mengapa perubahan tertentu dilakukan dan bagaimana perubahan tersebut meningkatkan pemeliharaan kode. Jangan sertakan kode pengujian, fokus pada implementasi utama.