← К отчётуPDF-версия отчёта
В окне печати выберите «Сохранить как PDF» Repo Health · отчёт о здоровье репозитория7 ноя 2026monslerzx/proton2d
sourcecraft.dev/monslerzx/proton2dОбновлено 15 дней назадОценка по открытым данным
- Данные
- 4 категории из 6Security, CI/CD: видны только участникам. 24 из 24 метрик с данными
- Место в рейтинге
- 8 431–8 688 из 21 903
Есть серьёзные проблемы. Что тянет вниз: проект не обновлялся 468 дней, много TODO/FIXME: 1,7 на 1000 строк.
Категории
| Категория | Вес | Оценка | Вывод |
|---|
| Security | 25% | — | нет данных |
| CI/CD | 20% | — | нет данных |
| Активность | 15% | 10 | 10/100: Последний коммит 2025-07-11, за 468 дн. до анализа |
| Документация | 15% | 39 | 39/100: Нет инструкции локального запуска |
| Issues | 15% | 50 | 50/100 |
| Code health | 10% | 37 |
Что стоит улучшить
- Активность · последний коммит 2025-07-11, за 468 дн. до анализа
- Активность · недель с коммитами за 90 дней: 0 из 13, доля самой плотной недели 0%
- Code health · TODO/FIXME на 1000 строк: 1,7 (16 на 9 409 строк)
- Code health · FIXME: 7 (0,74 на 1000 строк)
- Документация · нет инструкции локального запуска
- Документация · не описан запуск тестов
Рекомендации
1. Возобновить развитие проекта
+6,5Активность 10 → 34Высокий приоритет· Активность
- Проблема
- Проект не обновлялся 468 дней
- Почему важно
- Долгое отсутствие изменений — признак заброшенного проекта: уязвимости и баги не исправляются.
- Что сделать
- Обновите зависимости и документацию. Если проект закрыт, пометьте его архивным: оценка от этого не вырастет, но пользователи поймут его статус.
- Основание
- История коммитовПоследний коммит 2025-07-11
2. Разобрать TODO/FIXME
+6,2Code health 36 → 70Высокий приоритет· Code health
- Проблема
- Много TODO/FIXME: 1,7 на 1000 строк
- Почему важно
- Накопленные TODO/FIXME — отложенные исправления, которые мешают сопровождению кода.
- Что сделать
- Заведите по TODO/FIXME задачи в трекере, выполните или удалите неактуальные.
- Основание
- android_build/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java:354 · 1 год без изменений
| 36/100: TODO/FIXME на 1000 строк: 1,7 (16 на 9 409 строк) |
android_build/app/src/main/java/org/libsdl/app/SDLActivity.java:772 · 1 год без изменений
android_build/app/src/main/java/org/libsdl/app/SDLActivity.java:860 · 1 год без изменений
android_build/app/src/main/java/org/libsdl/app/SDLActivity.java:1641 · 1 год без изменений
android_build/app/src/main/java/org/libsdl/app/SDLActivity.java:1724 · 1 год без изменений
TODO: 9, FIXME: 7
Строк кода проверено: 9409
3. Добавить в README инструкцию локального запуска
+4,4Документация 39 → 55Высокий приоритет· Документация
- Проблема
- Нет инструкции локального запуска
- Почему важно
- Без неё новый участник тратит часы на то, чтобы просто запустить проект.
- Что сделать
- Добавьте в README раздел «Запуск» с командами установки зависимостей и старта.
- Основание
- README.mdВ README и docs/ не найден раздел запуска или команда запуска
4. Снизить зависимость от одного разработчика
+4,1Активность 10 → 25Высокий приоритет· Активность
- Проблема
- Проект зависит от одного разработчика
- Почему важно
- Если единственный автор уйдёт, развитие остановится (низкий bus factor).
- Что сделать
- Привлеките второго мейнтейнера, проводите ревью через merge requests.
- Основание
- Авторов коммитов за 90 дней: 0Bus factor за год: 0
5. Описать запуск тестов
+3,3Документация 39 → 51Средний приоритет· Документация
- Проблема
- Не описан запуск тестов
- Почему важно
- Воспроизводимая сборка и запуск тестов нужны, чтобы изменения проверялись одинаково у всех.
- Что сделать
- Опишите команды тестов в README или docs/.
- Основание
- Тесты: описание не найдено в README и docs/
6. Вести историю изменений
+3,3Документация 39 → 51Средний приоритет· Документация
- Проблема
- Нет changelog
- Почему важно
- Без истории изменений нельзя понять, что менялось между версиями.
- Что сделать
- Добавьте CHANGELOG.md или раздел «История изменений» в README.
- Основание
- CHANGELOG/CHANGES/HISTORY не найден, в README нет раздела Changelog
7. Публиковать релизы
+2,7Активность 10 → 20Средний приоритет· Активность
- Проблема
- Нет свежих релизов
- Почему важно
- Релизы дают пользователям стабильные версии и понятную историю изменений.
- Что сделать
- Публикуйте релизы с тегом и описанием изменений.
- Основание
- РелизыНет опубликованных релизов
8. Пересмотреть старые TODO/FIXME
+2,3Code health 36 → 49Средний приоритет· Code health
- Проблема
- 16 TODO/FIXME старше 180 дней
- Почему важно
- Старые TODO обычно уже никто не выполнит: это технический долг, который только растёт.
- Что сделать
- Пересмотрите старые TODO/FIXME: превратите в задачи или удалите.
- Основание
- android_build/app/src/main/java/org/libsdl/app/HIDDeviceBLESteamController.java:354 · 1 год без измененийandroid_build/app/src/main/java/org/libsdl/app/SDLActivity.java:772 · 1 год без измененийandroid_build/app/src/main/java/org/libsdl/app/SDLActivity.java:860 · 1 год без измененийandroid_build/app/src/main/java/org/libsdl/app/SDLActivity.java:1641 · 1 год без измененийandroid_build/app/src/main/java/org/libsdl/app/SDLActivity.java:1724 · 1 год без измененийСтарых TODO/FIXME на 1000 строк: 1,70 (16 из 16 проверенных старше 180 дней)
9. Вносить изменения через merge requests
+1,8Активность 10 → 17Средний приоритет· Активность
- Проблема
- Изменения вносятся без merge requests
- Почему важно
- Без MR нет ревью кода и истории обсуждения изменений.
- Что сделать
- Защитите основную ветку и вносите изменения через merge requests с ревью.
- Основание
- Merge requests в репозитории отсутствуют
10. Добавить тесты
+1,8Code health 36 → 46Средний приоритет· Code health
- Проблема
- В проекте нет тестов
- Почему важно
- Без тестов любое изменение может незаметно сломать поведение.
- Что сделать
- Покройте тестами ключевую логику и запускайте их в CI.
- Основание
- Тестовых файлов: 0 на 52 исходных
11. Выделить тесты в отдельный каталог
+1,4Документация 39 → 44Средний приоритет· Документация
- Проблема
- В структуре проекта нет каталога с тестами
- Почему важно
- По структуре репозитория сразу видно, где тесты и как их запускать; это основа для CI.
- Что сделать
- Добавьте тесты (каталог tests/ или файлы *_test / *.test) и опишите их запуск.
- Основание
- Каталоги верхнего уровня: .idea, .vscode, android_build, ext, include, src
12. Добавить CONTRIBUTING.md
+1,1Документация 39 → 43Низкий приоритет· Документация
- Проблема
- Нет CONTRIBUTING.md
- Почему важно
- CONTRIBUTING.md объясняет, как вносить изменения.
- Что сделать
- Добавьте CONTRIBUTING.md.
- Основание
- Файл CONTRIBUTING.md не найден
13. Добавить CODEOWNERS
+0,8Документация 39 → 42Низкий приоритет· Документация
- Проблема
- Нет CODEOWNERS
- Почему важно
- CODEOWNERS назначает ревьюеров на части кода.
- Что сделать
- Добавьте CODEOWNERS.
- Основание
- Файл CODEOWNERS не найден
14. Добавить SECURITY.md
+0,8Документация 39 → 42Низкий приоритет· Документация
- Проблема
- Нет SECURITY.md
- Почему важно
- SECURITY.md говорит, куда сообщать об уязвимостях.
- Что сделать
- Добавьте SECURITY.md.
- Основание
- Файл SECURITY.md не найден
Нет данных
Эти метрики не вошли в расчёт и не снизили оценку: веса перенормированы, охват метрик 100%.
- Security — в публичном рейтинге не учитывается: данные AppSec видны только участникам репозитория (доступно в анализе собственного репозитория по токену)
- CI/CD — в публичном рейтинге не учитывается: данные CI видны только участникам репозитория (доступно в анализе собственного репозитория по токену)
Как рассчитана оценка
В среднее вошли Активность, Документация, Issues, Code health. Security, CI/CD без данных: вес ушёл в собранные, ноля за них нет.
(15 * 10 + 15 * 39 + 15 * 50 + 10 * 37) / 55 = 33,6
Округлили до 34. Ограничение не сработало.
| Категория | Вес | Оценка | Вклад | Охват |
|---|
| Security | 25 | — | — | 0% |
| CI/CD | 20 | — | — | 0% |
| Активность | 15 | 10 | 1,54 | 100% |
| Документация | 15 | 39 | 5,81 | 100% |
| Issues | 15 | 50 | 7,50 | 100% |
| Code health | 10 | 37 | 3,65 | 100% |
| Оценка | 55 | | 33,6 | 100% |
Как считается оценка
Актуальная версия отчёта — guap.pro/repos/monslerzx/proton2d