Действительно великие программисты, как известно, используют поблочное тестирование?

Это должно работать. В основном это загружает файл JavaScript youtube.com, затем проверяет, существует ли функция в том файле.

<html>

<head>
    <script src="http://www.youtube.com/js/account.js"></script>
    <script>
        function has_you_tube()
        {
            if(typeof addVideosToQuicklist == 'function')
            {
                return true;
            }
            else
            {
                return false;
            }

        }
    </script>

</head>
<body>
    <script>alert( "has_youtube: " + has_you_tube() ); </script>
</body>


</html>
10
задан Kara 25 June 2014 в 19:12
поделиться

9 ответов

В этом интервью Кнут объясняет, что он не фанатичный юнит-тестер:

«юнит-тесты» привлекают только меня редко, когда я нащупываю дорогу в совершенно неизвестная среда и потребность отзывы о том, что работает и что не

Это в том же ответе, где он объясняет, как он выиграл соревнование (гонку) по программированию в Стэнфорде, будучи единственным участником, который использовал перфокарты на пакетном мэйнфрейме - все остальные использовали эти новомодные интерактивные терминалы на система с разделением времени, так что, конечно, занявший второе место занял на час больше, чем это сделал Кнут.

Если (возможно, за исключением исследовательского программирования в совершенно неизвестной среде) вам удобнее работать с перфокартами и пакетными мэйнфреймами, чем интерактивные терминалы и разделение времени, я думаю, действительно последует, что модульные тесты не будут соответствовать вашему стилю; -).

10
ответ дан 3 December 2019 в 14:11
поделиться

Кнут не занимается юнит-тестами.

Что касается вашего реального вопроса, идея немедленной компиляции и «юнит-тестов» мне очень редко нравится, когда я нащупываю свой путь. совершенно неизвестная среда и вам нужна обратная связь о том, что работает, а что нет. В противном случае я трачу много времени на занятия, которые мне просто не нужно выполнять и даже думать о них. Ничего не нужно «моделировать».

Конечно, Кнут также сказал * :

Остерегайтесь ошибок в приведенном выше коде; Я только доказал его правильность, а не пробовал.

Кнут - супергений, но тот факт, что он не проводит модульное тестирование своего кода, не должен указывать на то, что мы, простые смертные, не должны тестировать наш .

5
ответ дан 3 December 2019 в 14:11
поделиться

Да, есть много замечательных программистов, практикующих модульное тестирование. Как насчет Мартина Фаулера, Роберта К. «Дядя Боба» Мартина, Майкла Фезерса и, конечно же, Кента Бека. Вопрос не в том, «Практикует ли Джон Скит модульное тестирование», а в том, могли бы ВЫ работать с кодом Джона Скита и знать, сломали ли вы его или нет? Могли бы вы работать над собственным кодом, который вы написали два года назад, и знать, сломали вы его или нет? и наконец ... сколько именно QA-специалистов у вас в офисе? и сколько времени вы проводите с программным обеспечением в QA, не принося вам денег? Как быстро вы можете выявлять ошибки?

Модульное тестирование - это то, что мы делаем, чтобы сдвинуть затраты на разработку программного обеспечения до самого начала, когда оно будет дешевле, до того, как 20 специалистов по контролю качества начнут на него смотреть, и до того, как вы потеряете клиента, потому что не могли исправьте ошибку достаточно быстро.

Я знаю, что никогда бы не нанял разработчика, который думал, что он выше модульного тестирования, даже если бы он был самым крутым программистом в мире. Потому что, если бы завтра его сбил автобус, где бы я нашел человека с таким же мозгом?

4
ответ дан 3 December 2019 в 14:11
поделиться

Лично я понятия не имею, поддерживают ли эти ребята формальные модульные тесты

Однако имейте в виду, что Кент Бек объясняет, что TDD следует рассматривать как формализацию типов практики, которые великие программисты естественно применяют, даже не осознавая этого. Это для нас, бедных сапов, которые не гении, и помогает нам писать гораздо более надежный код, делает его более адаптируемым и не дает тратить время на написание кучи кода, который никогда не используется. Я обнаружил, что он полностью соответствует этой оценке.

3
ответ дан 3 December 2019 в 14:11
поделиться

Наверное, нет.

С другой стороны, все программисты, которых обычно называют «действительно великими», являются мега-гениями, которые написали оригинальное программное обеспечение 25 лет назад самостоятельно, обычно для других программистов, задолго до того, как модульное тестирование стало в моде, до того, как контроль версий получил широкое распространение, до массового сотрудничества были нормой и т. д.

Другими словами, есть характеристики современной разработки программного обеспечения, которые являются аргументами в пользу модульного тестирования, которых тогда просто не было. Современные действительно великие программисты могут заниматься модульным тестированием, просто мы еще не называем их великими.

Для записи, я ненавижу модульное тестирование. Назовите это данью уважения.

2
ответ дан 3 December 2019 в 14:11
поделиться

Из чтения блога Айенде я понял, что в некоторых из его наиболее успешных проектов не было ни одного или многих модульных тестов. Однако он использует их во многих проектах, но, как правило, не во всех. (опять же из того, что я понял из его блога).

0
ответ дан 3 December 2019 в 14:11
поделиться

Джошуа Блох делает :

InfoQ: Верите ли вы, что другие инструменты и такие процессы, как модульное тестирование, Разработка через тестирование или пара программирование также помогает в программировании эффективно на Java?

Джошуа Блох: Совершенно верно. Модульное тестирование это ключ. И сначала напиши свои тесты это отличная вещь.

9
ответ дан 3 December 2019 в 14:11
поделиться

Джон Скит пробовал проводить модульное тестирование, но все его тесты прошли без кода.

Или что-то в этом роде.

-1
ответ дан 3 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: