Open-Closed Principle (OCP): Kode harus terbuka untuk ekstensi tetapi tertutup untuk modifikasi langsung.
Liskov Substitution Principle (LSP): Objek turunan harus bisa menggantikan objek induknya tanpa menyebabkan kesalahan.
Interface Segregation Principle (ISP): Klien tidak boleh dipaksa untuk mengimplementasikan antarmuka yang tidak mereka gunakan.
Dependency Inversion Principle (DIP): Modul tingkat tinggi tidak boleh bergantung langsung pada modul tingkat rendah.
Praktik Clean Code
Gunakan nama variabel dan fungsi yang deskriptif.
Hindari kode yang terlalu panjang dan kompleks.
Terapkan prinsip Don't Repeat Yourself (DRY) untuk menghindari duplikasi kode.
Gunakan komentar hanya jika diperlukan dan pastikan kode itu sendiri cukup jelas.
Modularitas dan Reusability