У мене є проект досить великого розміру, що я більше не можу тримати кожен аспект в голові. Я маю справу з низкою класів і функцій в ньому, і я передаю дані навколо.
З часом я помітив, що я постійно отримував помилки, тому що я забув, яку точну форму мають мати дані, коли я передаю їх різним функціям ( наприклад, одна функція приймає та видає масив рядків, інша функція, про яку я писав набагато пізніше, приймає рядки, які зберігаються у словнику тощо, тому мені доведеться перетворити рядки, з якими я працюю, з того, щоб мати їх у масиві, щоб мати їх у словнику ).
Щоб завжди не з'ясовувати, що звідки вийшло, я почав трактувати кожну функцію та клас як "відокремлену сутність", в тому сенсі, що він не може покладатися на зовнішній код, даючи йому правильний вхід і повинен сам перевіряти вхід (або, у деяких випадках переробляють дані, якщо дані наведені у неправильній формі).
Це значно скоротило час, який я витрачаю на переконання, що дані, які я передаю навколо, "вписуються" у кожну функцію, тому що самі класи та функції тепер попереджають мене, коли деякий вклад є поганим (а іноді навіть виправляє це), і я не доведеться пройти з налагоджувачем цілий код більше, щоб зрозуміти, куди щось пішло.
З іншого боку, це також збільшило загальний код.
Моє запитання, чи цей стиль коду підходить для вирішення цієї проблеми?
Звичайно, найкращим рішенням було б повністю переробити проект і переконатися, що дані мають єдину структуру для всіх функцій - але оскільки цей проект постійно зростає, я б закінчив витрачати більше коштів і турбуватися про чистий код, ніж власне додавати нові речі .
(FYI: Я все ще новачок, тому, вибачте, якщо це питання було наївним; мій проект знаходиться в Python.)