Написание псевдокода перед кодированием, конечно, лучше, чем просто кодирование без планирования, но это далеко не лучшая практика. Разработка на основе тестирования - это улучшение.
Еще лучше анализировать проблемную область и проектировать решения, используя такие техники, как пользовательские истории, сценарии использования, CRC-карты, диаграммы, как это принято в таких методологиях, как Cleanroom, RUP, Lean, Kanban, Agile и т. д.
Тщательное понимание сути проблемы и компонентов, которые вы используете для реализации решения, является принципом, лежащим в основе лучших практик.
Рекомендую посмотреть эти видео для лучшего погружения в вопрос: