- Из всех возможных решений выберите одно, которое легко проверить.
- выполнить тест
- реализовать код.
Повторяйте, пока у меня не появится функциональность, необходимая для реального решения проблемы.
Теперь проверьте, достаточно ли чист код. Большую часть времени это не так. В этом случае выполняйте рефакторинг до тех пор, пока он не станет чистым.
Достаточно чистый означает: либо значительно чище, чем средний кусок кода в проекте, либо настолько чистый, насколько я могу его написать. Что бы ни было достигнуто ранее.
Хорошо, я должен признать, это по крайней мере, как я пытаюсь написать свой код.
Выбор решения с помощью тестируемости в качестве побочного эффекта предпочитает хорошо разработанные решения.