Продумать, что сломается через месяц
На стадии планирования, до начала реализации. Когда задача кажется простой - именно тут чаще всего вылезают edge cases, которые рушат код через неделю.
До того как написать строчку кода, продумай ВСЕ возможные проблемы заранее. Задай себе вопросы: - Что сломается через неделю? Через месяц? - Что произойдёт под нагрузкой в 100x? - Что будет, если данных ноль? Если данных миллион? - Что если пользователь сделает то, чего я не ожидаю? …