Разбираем неделю разработчика: рефакторинг Neovim, написание интеграционных тестов для openslate и работа с PR. Узнайте, как поддерживать код в чистоте и продуктивности.
Как провести неделю с максимальной пользой? Рефакторинг конфигурации редактора, написание интеграционных тестов и закрытие десятков PR — вот рецепт продуктивной недели. В этой статье разберём, как я за 7 дней переписал Neovim, укрепил openslate тестами и разобрался с багами в Open Source проектах.
Мой редактор — живой организм. На этой неделе я решил провести серьёзную эволюцию: 21 коммит в репозиторий nvim, около 3 200 добавлений и 2 000 удалений. Результат — полный переход на эстетику Kanagawa modern-minimal.
Основная работа велась в папках lua/plugins и lua/config. Я почистил нотацию
Если работа с Neovim была про «ощущения», то openslate — про «факты». Сейчас я в разгаре массового написания тестов. Несмотря на небольшое количество коммитов в main, PR-активность говорит сама за себя: я строю надёжный интеграционный набор, покрывающий весь жизненный цикл приложения.
Много времени провёл в api/src, особенно с аутентификацией. Я влил критический PR, который проверяет, что auth middleware возвращает 401 при отсутствии cookie — мелочь, но основа всей модели безопасности. Ещё несколько открытых PR покрывают сценарии регистрации и входа, гарантируя, что первый созданный пользователь получает правильную cookie.
Одна из самых сложных частей — логика build_fts_query. Полнотекстовый поиск (FTS) всегда кошмарен с правилами wildcard и кавычек. Я открыл PR специально для тестирования этих граничных случаев, потому что заметил странное поведение при поиске со спецсимволами. Лучше поймать это в тестах, чем в баг-репорте.
Неделя была насыщенной: 10 открытых PR, отражающих широту моих текущих проектов.
В opensre я исправил раздражающий UI-баг: индикатор загрузки в интерактивной оболочке не вращался, пока LLM проводила исследование. Нет ничего хуже, чем смотреть на статичный экран и гадать, умер ли бэкенд или просто думает. Я отправил исправление примерно на 150 строк, чтобы состояние прогресса корректно отражалось в терминале. Хотя этот PR сейчас закрыт, расследование, почему состояние не всплывало, было отличным погружением в event loop оболочки.
Также поработал над DevNotion (инструментом, в котором пишу этот отчёт!). Я открыл PR для обработки временных сетевых ошибок на этапе сбора данных. Когда тянешь данные из нескольких API, что-то обязательно отвалится. Добавление стратегии повторных попыток и безопасного плана развёртывания (около 800 строк нового кода) делает систему более «production-ready» и меньше похожей на хак выходного дня.
Распределение языков за неделю — настоящий взрыв полиглота. Хотя Lua доминировал по числу коммитов из-за рефакторинга Neovim, основная логика была на TypeScript, Svelte и немного на Python.
Соотношение добавлений к удалениям (3226 против 2063) — именно то, что я люблю видеть на неделе рефакторинга. Это показывает, что я не просто наваливаю новые фичи, а активно удаляю старые хрупкие части кода, освобождая место для нового.
И стрик: семь дней подряд коммитов. Это не была вынужденная гонка; просто такая неделя, когда каждый раз, садясь за работу, я находил что-то ясное и выполнимое. Будь то правка цвета в Kanagawa в 2 часа ночи или интеграционный тест для медиа-MIME-фильтра после обеда — импульс оставался высоким.
Следующая неделя — закрытие циклов. У меня гора открытых PR в openslate: от стилей палитры команд до фильтров медиа-БД. Моя цель — влить набор интеграционных тестов, чтобы начать строить новые фичи поверх «зелёного» CI-конвейера.
Также планирую глубже погрузиться в логику сбора DevNotion. Теперь, когда стратегия повторных попыток готова, хочу оптимизировать выборку данных, сделав её более параллельной.
А пока буду наслаждаться новым минималистичным видом редактора. Удивительно, как свежий слой краски может вдохновить написать ещё тысячу строк кода. Увидимся на следующей неделе!
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →