Авторы анализатора PVS-Studio предлагают вам проверить свою внимательность.
Анализаторы кода работают без устали и умеют находить множество ошибок, которые сложно заметить. Мы отобрали некоторые фрагменты кода, в которых мы выявили ошибки с помощью PVS-Studio. Все фрагменты взяты из известных Open-Source проектов.
Предлагаем вам посоревноваться с анализаторами в прозорливости и попробовать самостоятельно найти ошибки. Вам будет предложено 15 случайно выбранных заданий. За верный ответ насчитывается одно очко, если он дан в течение 1 минуты. Фрагменты кода короткие, и одна минута, это честное ограничение.
Рассмотрим пару примеров с ошибками и объясним, как указывать правильный ответ.
Пример первый. Перед вами следующий код:
Здесь ошибка выделена красным. При решении задач этого, конечно, не будет.
Программист случайно опечатался и вместо индекса 2 написал 3. При движении курсора мышки над кодом будут подсвечиваться различные слова и цифры. Вы должны навести курсор на число 3 и нажать левую кнопку мыши.
Это будет правильный ответ.
Второй пример. Не всегда можно однозначно указать, где ошибка:
Размер буфера нужно сравнить с числом 48. Случайно в код затесался лишний оператор sizeof(). В результате, размер буфера сравнивается с размером типа int.
На мой взгляд, ошибкой является оператор "sizeof", и именно на него надо указать мышкой. Однако, не имея перед глазами весь текст программы, можно рассудить так. Оператор 'sizeof' должен был посчитать размер какого-то буфера, но ему случайно подсунули макрос. Ошибкой является использование "SSL3_MASTER_SECRET_LENGTH".
Для таких случаев ответ будет засчитан, как верный, независимо от того, выберете вы "sizeof" или "SSL3_MASTER_SECRET_LENGTH".
А теперь желаем вам удачи. Начать игру.
P.S. Мы понимаем, что задания не идеальны, не всегда очевидно, куда нужно "ткнуть мышкой", и систему при желании можно обмануть. Просто учтите, что этот раздел сайта создан для развлечения, а не для полноценного тестирования кого-то.
0