DEV Community на русском
Подписаться
Я провел один день, исправляя три реальных бага в открытом исходном коде.
Автор принял участие в соревновании DEV Summer Bug Smash, сосредоточившись на внесении реальных исправлений, сопровождаемых тестами, которые сначала не проходили, а затем проходили после реализации. Их усилия охватили три проекта с открытым исходным кодом в течение одного дня. Первая исправленная ошибка была в OpenClaw, ИИ-ассистенте, где отмена изменения настройки некорректно вызывала перезапуск шлюза. Исправление гарантировало, что операции отмены будут возвращаться к фактической рабочей конфигурации, предотвращая ненужные перезапуски. Вторая ошибка касалась системы дизайна Rocket.Chat, Fuselage, где заполнение дорожки компонента Slider некорректно отображалось в локалях с письмом справа налево и с минимальными значениями, отличными от нуля. Это было решено путем расчета положения заполнения на основе состояния компонента и его правильной адаптации к направлению локали. Третья ошибка была обнаружена в npmx.dev, который не мог отображать многие сложные типы TypeScript, показывая вместо этого "unknown[unknown]". Автор реализовал одиннадцать новых форматеров для различных видов типов TypeScript, значительно улучшив отображение документации API для пакетов npm. Каждое исправление было отправлено в виде pull request с описательным сообщением коммита и сопровождающими тестами. Автор узнал, что создание небольших, воспроизводимых примеров ошибок имеет решающее значение, тесты, которые сначала не проходят, бесценны, а понимание соглашений проекта экономит время. В результате дня были внесены три рабочих исправления в трех проектах, каждое с пройденным набором тестов.