Daily Bug — найди ошибку в настоящем коде
Каждый день один фрагмент настоящего кода ровно с одной ошибкой. Нажмите на строку, которая кажется неверной: пять попыток, без регистрации, результатом можно поделиться.
В одной из этих строк ошибка. В какой?
Загружаем сегодняшний баг…
Как это работает
Каждый день вы получаете короткий фрагмент настоящего кода — JavaScript, Python, Go, SQL, Rust или Java — ровно с одной настоящей ошибкой: он возвращает неверный результат, падает или тихо портит данные. Не придирка к стилю. Нажмите на строку, которая кажется неверной; попыток пять, и каждая говорит, попали ли вы в ошибку, в нужный блок или мимо. Фрагмент одинаковый у всех в мире в один день, а результат, которым вы делитесь, показывает, как вы справились, не раскрывая ответа.
Головоломка для удовольствия и тренировки код-ревью. Фрагменты упрощены, чтобы поместиться на экране; в жизни ошибки редко подсвечены так удобно.
Частые вопросы
Нужно ли знать язык?
Почти никогда. Ошибки взяты те, что общие для всех языков: выход за границу массива, забытый await, сравнение чисел с плавающей точкой, изменяемое значение по умолчанию, запрос без WHERE. Если вы писали код хоть на одном языке, большинство узнаете.
Что считается «ошибкой»?
То, что меняет поведение: неверный результат, падение, порча данных в краевом случае или дыра в безопасности. Форматирование, имена и стиль ответом не бывают.
У всех один и тот же фрагмент?
Да. Он выводится из даты по UTC, поэтому все игроки видят один и тот же код в один день, а в полночь по UTC появляется новый. В сетке результата только цвета, так что публикация не выдаёт строку.