Saat membuat aplikasi non-sepele, apakah yang terbaik untuk fokus pada hal-hal yang bekerja dengan cepat, dan mengambil jalan pintas dalam kode seperti mencampur logika model dengan pandangan Anda, memecahkan enkapsulasi - bau kode khas? Atau, apakah Anda lebih baik meluangkan waktu di muka untuk membangun lebih banyak arsitektur, membangunnya dengan benar, tetapi menjalankan risiko bahwa semua kode tambahan ini mungkin tidak digunakan karena desain Anda cukup lancar dan Anda mungkin harus membuangnya jika umpan balik menyebabkan Anda pergi ke arah yang berbeda?
Untuk konteks, saya sedang membangun aplikasi desktop. Saya satu-satunya pengembang, dan saya melakukan ini paruh waktu karena saya memiliki pekerjaan harian. Sekarang, untuk bekerja, saya mencoba melakukan hal-hal dengan cara yang benar, jadwal memungkinkan. Tetapi untuk proyek ini, yang saya harapkan akan berubah ketika saya mendapat umpan balik dari orang-orang, saya tidak yakin itu pendekatan yang tepat. Saya menghabiskan beberapa jam minggu ini memasukkan desain Pengendali Tampilan Model buku teks untuk mengkomunikasikan perubahan dalam model ke tampilan. Ini bagus secara umum, tetapi saya tidak yakin apakah saya perlu banyak tampilan untuk menampilkan data dan saya tahu bahwa saya bisa menampilkan sesuatu lebih cepat tanpa arsitektur tambahan. Dengan mungkin 10-15 jam seminggu untuk dihabiskan untuk proyek ini, saya merasa perlu waktu lama untuk membuat sesuatu yang bisa saya demokan jika saya mengikuti praktik perangkat lunak yang baik. Saya tahu bahwa pengguna saya menang ' t peduli bahwa saya menggunakan MVC secara internal, mereka hanya ingin sesuatu yang menyelesaikan masalah mereka. Tetapi saya juga pernah berada dalam situasi di mana Anda mengeluarkan begitu banyak hutang teknis dari jalan pintas sehingga kode ini sangat sulit dipertahankan dan ditambahkan fitur-fitur baru. Saya ingin mendengar bagaimana orang lain mendekati masalah semacam ini.