ГлавнаяБлогНедельный рефакторинг: Neovim, тесты и Open Source
Карьера

Недельный рефакторинг: Neovim, тесты и Open Source

Разбираем неделю разработчика: рефакторинг Neovim, написание интеграционных тестов для openslate и работа с PR. Узнайте, как поддерживать код в чистоте и продуктивности.

Al
Редакция Algolitalgolit.ru
6 мин чтения7 июля 2026 г.

Как провести неделю с максимальной пользой? Рефакторинг конфигурации редактора, написание интеграционных тестов и закрытие десятков PR — вот рецепт продуктивной недели. В этой статье разберём, как я за 7 дней переписал Neovim, укрепил openslate тестами и разобрался с багами в Open Source проектах.

Рефакторинг Neovim: переход на минимализм Kanagawa

Мой редактор — живой организм. На этой неделе я решил провести серьёзную эволюцию: 21 коммит в репозиторий nvim, около 3 200 добавлений и 2 000 удалений. Результат — полный переход на эстетику Kanagawa modern-minimal.

Основная работа велась в папках lua/plugins и lua/config. Я почистил нотацию , обновил UI, добавил HTML-файл для сайта. Большую часть времени заняло обслуживание: CI-задача обновляет все плагины до последних версий, и мне пришлось вручную разрешать конфликты после обновлений. Есть особое удовлетворение от применения форматирования и линтинга к 42 изменённым файлам — это цифровой эквивалент уборки в офисе.

Интеграционные тесты для openslate

Если работа с Neovim была про «ощущения», то openslate — про «факты». Сейчас я в разгаре массового написания тестов. Несмотря на небольшое количество коммитов в main, PR-активность говорит сама за себя: я строю надёжный интеграционный набор, покрывающий весь жизненный цикл приложения.

Много времени провёл в api/src, особенно с аутентификацией. Я влил критический PR, который проверяет, что auth middleware возвращает 401 при отсутствии cookie — мелочь, но основа всей модели безопасности. Ещё несколько открытых PR покрывают сценарии регистрации и входа, гарантируя, что первый созданный пользователь получает правильную cookie.

Одна из самых сложных частей — логика build_fts_query. Полнотекстовый поиск (FTS) всегда кошмарен с правилами wildcard и кавычек. Я открыл PR специально для тестирования этих граничных случаев, потому что заметил странное поведение при поиске со спецсимволами. Лучше поймать это в тестах, чем в баг-репорте.

Pull Requests и исправления конвейера

Неделя была насыщенной: 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. Теперь, когда стратегия повторных попыток готова, хочу оптимизировать выборку данных, сделав её более параллельной.

А пока буду наслаждаться новым минималистичным видом редактора. Удивительно, как свежий слой краски может вдохновить написать ещё тысячу строк кода. Увидимся на следующей неделе!

#рефакторинг#Neovim#интеграционные тесты#Open Source#продуктивность
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →