Чем позже вы тестируете, тем больше стоит писать тесты.
Чем дольше живет ошибка, тем дороже ее исправить.
Закон убывающей отдачи гарантирует, что вы можете испытать себя в забвении, стараясь не допустить ошибок.
Будда учил мудрости среднего пути. Тесты хорошие. Есть такая вещь, как слишком много хорошего. Ключ в состоянии сказать, когда вы вышли из равновесия.
Каждая строка кода, которую вы пишете без тестов, будет значительно дороже добавлять тесты позже, чем если бы вы написали тесты до написания кода.
Каждая строка кода без тестов будет значительно сложнее отлаживать или переписывать.
Каждый тест, который вы напишите, займет время.
Каждая ошибка займет время, чтобы исправить.
Верующие скажут вам не писать ни единой строки кода, не написав сначала провальный тест. Тест гарантирует, что вы получаете ожидаемое поведение. Это позволяет быстро изменять код, не беспокоясь о влиянии на остальную часть системы, поскольку тест подтверждает то же поведение.
Вы должны сопоставить все это с тем фактом, что тесты не добавляют функций. Производственный код добавляет функции. И особенности - это то, что оплачивает счета.
Прагматично говоря, я добавляю все тесты, с которыми я могу справиться. Я игнорирую комментарии в пользу просмотра тестов. Я даже не доверяю коду делать то, что думаю. Я доверяю тестам. Но я был известен тем, что иногда бросал град Мэри и получал счастье.
Однако многие успешные кодеры не используют TDD. Это не значит, что они не тестируют. Они просто не настаивают на том, чтобы каждая строка кода имела автоматизированный тест. Даже дядя Боб признает, что не проверяет свой интерфейс. Он также настаивает на том, чтобы вы удалили всю логику из пользовательского интерфейса.
В качестве футбольной метафоры (это американский футбол) TDD - хорошая наземная игра. Только ручное тестирование, где вы пишете кучу кода и надеетесь, что это сработает, является проходной игрой. Вы можете быть хорошими в любом. Ваша карьера не попадет в плей-офф, если вы не сделаете оба. Это не сделает суперкубок, пока вы не научитесь выбирать каждый из них. Но если вам нужно подтолкнуть в определенном направлении: официальные звонки идут против меня чаще, когда я прохожу.
Если вы хотите попробовать TDD, я настоятельно рекомендую вам попрактиковаться, прежде чем пытаться делать это на работе. TDD сделали наполовину, наполовину нерешительно, а наполовину задницу - большая причина, почему некоторые не уважают это. Это все равно, что налить один стакан воды в другой. Если вы не совершаете и делаете это быстро и полностью, вы в конечном итоге даете воду по всему столу.