Кевлин Хенни как-то привел хорошую аналогию. Он спросил у группы программистов на его докладе: "Зачем автомобилю тормоза?" И, выслушав идентичные ответы "Чтобы можно было резко остановиться", отрицательно покачал головой
( Read more... )
У TDD заморочка другая - помимо тестов есть масса других способов увеличения надежжности кода - основные - инварианта (assert-assert) и более или менее грамотное использование статического типового контроля - инкапсуляции etc.
Так вот по моим наблюдениям адепты TDD очень часто полагают, что тормоза придумали трусы - что ничего кроме unit-tests не надо.
Рассуждение про автомобиль и его тормоза - чистой воды схоластика. Асфальтовый каток ездит со скоростью 5 км в час, но у него тоже есть тормоз, так как машина тяжёлая, инерция большая, с горки может скатиться и задавить всех нафиг. Или когда ты паркуешься - разве не используешь тормоз? А ведь скорость при этом вообще мизерная.
Ну ты еще скажи, что нельзя тесты с тормозами сравнивать, потому что на тормоза нужно нажимать. а на тесты - нет. Разумеется, любая аналогия подобного рода включает несравнимые элементы, но в основе этих двух примеров то же самое: я никогда не смогу бы быстро ездить по городу (пусть и плоскому, без холмов), не будь у автомобиля тормозов.
Просто рассуждения этого товарища об автомобиле по стилю мне очень сильно напомнили различные теологические рассуждения, где какой-нибудь постулат ставится с ног на голову, обычно исключительно в целях шокирования публики неожиданным заявлением.
Вы не поняли. Там нет трещотки между педалями и колесами. Крутятся колеса - крутятся педали. Чтобы остановиться, достаточно не позволить педалям крутиться. Мы когда дочь с трехколесного на двухколесный велосипед переучивали, именно это оказалось главной проблемой, а не равновесие. :)
Пример с тормозами всего лишь показывает невозможность построения дерева декомпозиции функций по точно таким же правилам, как строится дерево декомпозиции конструкции. Вытаскивать из него другие аналогии - чревато.
Comments 45
Так вот по моим наблюдениям адепты TDD очень часто полагают, что тормоза придумали трусы - что ничего кроме unit-tests не надо.
Reply
Цитаты из адептов, которым ничего другого не надо?
Reply
Reply
Reply
Reply
Reply
Просто рассуждения этого товарища об автомобиле по стилю мне очень сильно напомнили различные теологические рассуждения, где какой-нибудь постулат ставится с ног на голову, обычно исключительно в целях шокирования публики неожиданным заявлением.
Reply
Reply
Reply
(The comment has been removed)
Reply
Там нет трещотки между педалями и колесами. Крутятся колеса - крутятся педали. Чтобы остановиться, достаточно не позволить педалям крутиться.
Мы когда дочь с трехколесного на двухколесный велосипед переучивали, именно это оказалось главной проблемой, а не равновесие. :)
Reply
Reply
Reply
Reply
Leave a comment