«Мисливець на динозаврів»: 23-річний програміст освоїв Firefox і пофіксив баг початку нульових
22-річний програміст Іфан Чжу пофіксив баг в Firefox, якому було стільки ж років, як і йому.
Він був мотивований і знав, як програмувати, хоча й не мав будь-якого досвіду в таких складних проектах, як браузер Firefox і ніколи раніше не брав участі в проектах з відкритим кодом.
Майже ровесник динозаврів
Якщо навести курсор миші на збережене посилання на панелі інструментів Firefox і зачекати секунду, то з’явиться маленьке жовте поле з описом посилання.
Але після того, як користувач згорне Mozilla та переключиться на іншу вкладку, маленьке жовте поле залишиться все одно на передньому плані.
Єдиний спосіб позбутися цього — знову поставити Mozilla на передній план і перемістити курсор з панелі інструментів.
Час від часу здавалося, що баг зник. Або ж користувачі зазначали, що він є в Windows чи Linux. Проте, по-суті, він нікуди не зник.
«Мені байдуже, чи залишиться цей баг з нами назавжди. Це як ніби пережиток минулого», — писав на форумі один з користувачів.
Як вдалося пофіксити баг
Проте цієї реліквії більше з нами немає, оскільки на початку вересня вийшов патч, який пофіксив цей баг. І ключову роль в цьому зіграв 22-річний розробник Іфан Чжу, який до цього ніколи не працював з Firefox.
«Я просто шукав tooltip по всій базі, досліджував матеріал і вставляв оператори налагодження, щоб стежити за виконанням», — написав Чжу.
Зрештою це дало результат.
«Коли курсор наводиться на якийсь елемент, запускається таймер, щоб відобразити спливаючу підказку. Таймер скасовується в разі відходу курсору. Саме останнє Firefox не бачив, коли я використовував комбінації клавіш для перемикання вікон або віртуальних робочих столів», — сказав розробник.
В результаті розробник зробив так, щоб спливаюча підказка зникала на основі втрати фокуса самим Firefox, а не на основі рухів курсорами миші.
Читайте також:
Як написати гарний баг-репорт. Поради від Senior QA
Українська тестувальниця зібрала топ-10 плагінів для VSCode: Git, дебагінг, форматування коду
Як провести рефакторинг та не створити нові баги: повний розбір підходу
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: