Saya memiliki proyek yang cukup besar ukurannya sehingga saya tidak dapat menyimpan setiap aspek lagi di kepala saya. Saya berurusan dengan sejumlah kelas dan fungsi di dalamnya, dan saya menyampaikan data.
Seiring waktu saya perhatikan bahwa saya terus mendapatkan kesalahan, karena saya lupa bentuk persis apa yang harus dimiliki data ketika saya meneruskannya ke fungsi yang berbeda ( misalnya, satu fungsi menerima dan menghasilkan array string, fungsi lain, yang saya tulis kemudian, menerima string yang disimpan dalam kamus dll., jadi saya harus mengubah string yang sedang saya kerjakan dari memiliki mereka dalam array menjadi memiliki mereka dalam kamus ).
Untuk menghindari selalu harus mencari tahu apa yang pecah di mana, saya mulai memperlakukan setiap fungsi dan kelas sebagai "entitas yang terisolasi" dalam arti bahwa ia tidak dapat mengandalkan kode luar yang memberikan input yang benar dan harus melakukan pemeriksaan input itu sendiri (atau, dalam beberapa kasus, menyusun kembali data, jika data diberikan dalam bentuk yang salah).
Ini sangat mengurangi waktu yang saya habiskan untuk memastikan bahwa data yang saya berikan "cocok" ke setiap fungsi, karena kelas dan fungsi itu sendiri sekarang memperingatkan saya ketika beberapa input buruk (dan kadang-kadang bahkan memperbaiki itu) dan saya tidak harus pergi dengan debugger melalui seluruh kode lagi untuk mencari tahu di mana sesuatu menjadi kacau.
Di sisi lain, ini juga meningkatkan kode keseluruhan.
Pertanyaan saya adalah, apakah gaya kode ini sesuai untuk menyelesaikan masalah ini?
Tentu saja, solusi terbaik adalah dengan sepenuhnya memperbaiki proyek dan memastikan data memiliki struktur yang seragam untuk semua fungsi - tetapi karena proyek ini terus berkembang, saya akan menghabiskan lebih banyak dan mengkhawatirkan kode bersih daripada benar-benar menambahkan barang baru .
(FYI: Saya masih pemula, jadi tolong permisi jika pertanyaan ini naif; proyek saya menggunakan Python.)