Saya sedang menulis sebuah game di Typecript, dan memutuskan bahwa saya akan mencoba untuk mematuhi ide " pemrograman berbasis antarmuka ", di mana Anda menulis kode berdasarkan pada antarmuka, bukan implementasi, dari suatu objek.
Saya menulis sejumlah antarmuka yang baik, dan kelas-kelas yang mengimplementasikannya, kemudian mengambil langkah mundur dan menyadari bahwa kelas-kelas itu cukup sederhana sehingga saya mungkin tidak perlu mengubah implementasi, karena hanya ada satu cara untuk melakukan apa yang kelas tidak (bergerak dengan Phaser.Sprite
cara terbatas untuk bertindak seperti tank).
Lalu saya ingat pernah membaca beberapa tahun yang lalu tentang ide YAGNI , yang pada dasarnya Anda tidak boleh terlalu merekayasa kode Anda untuk memasukkan hal-hal yang mungkin tidak pernah Anda gunakan.
Mengikuti praktik terbaik, haruskah setiap kelas menerapkan antarmuka, atau haruskah Anda membatasinya pada kelas yang Anda harapkan berpotensi ditukar di masa depan?