Я не уверен, что проектирование тем или иным способом лучше ... Хотя г-н Ликман говорит, что запуск функциональной части, а затем возвращение и выполнение утомительной работы в крайних случаях более продуктивен, я ' Я не уверен, что вижу, как.
Наличие функционального кода бесполезно (и даже опасно), если вы допускаете недопустимые значения (т. Е. Значения, которые не ожидал ваш функциональный код).
И наоборот, большие проверки границ бесполезны, если значения, через которые они проходят, не обрабатываются каким-либо образом.
В производственной среде вам действительно нечего показать, если вы не освещаете ни валидность, ни функциональность. Порядок, в котором вы делаете эти вещи, действительно должен зависеть от личных предпочтений. Если вы не чувствуете себя креативным и просто хотите что-то утомить, напишите часть кода, проверяющую правильность. Если вы только что придумали идеальный алгоритм, чтобы делать именно то, что вам нужно во время перерыва на кофе, сядьте и напишите функциональную часть и вернитесь к проверке границ позже.