Как написать сложный алгоритм?
Если у вас не получается придумать какую-нибудь хитрую логику, мысли разбегаются и вы ее можете собрать их в кучку, попробуйте подумать не о действиях, а о структуре данных, с которыми вы работаете.
Например, вчера я пытался переписать генерацию путей в своей игре. Старая логика работала поочередно с каждым метром пути, и я не мог реализовать новые требования в старом подходе.
Как только я поменял модель данных, вместо "метров" стал думать "участками пути", код сам стал вытекать из моих пальцев.
Подумайте, возможно стоит сделать другие абстракции в коде, возможно, стоит инкапсулировать часть логики в классах с данными, возможно стоит переложить объекты из листа в словарь.
Хорошим вариантом будет начать с того, какие именно данные нужны вашему алгоритму (в моём случае следующий участок пути обязательно должен знать, где закончился предыдущий), и откуда алгоритм сможет их эффективно получить.
По моим наблюдениям, чем лучше модель данных, тем проще писать код. А значит, если код "не идёт", стоит проверить, а так ли хороша модель.
#программирование
Post #27
509
- 🔥 4
- 👍 3
- 🗿 1