🗒️ Tech-Debt Report — June 2025 (rev-3, 24-Jun)
| Area | Status | Evidence / Metric |
|------|:------:|-------------------|
| Code cleanliness | 🟡 | 1 182 clang-tidy warnings → 38 high / 174 medium / rest low. Duplicate #include
устранён; IWYU показывает 2 лишних инклуда. |
| Architecture | 🟡 | Business-логика рекомендаций остаётся в routes_data.cpp
; абстракция ISensor
полностью покрывает Real/Fake, циклов include ≈0 (проверено IWYU). |
| Testing | 🟠 | 42 Google-Test кейса + 8 Unity (legacy). Coverage native 31 % (gcov). Нет e2e-тестов OTA/UI. |
| CI / Static analysis | 🟢 | Build + unit + clang-tidy high-→error (gate). cppcheck MISRA-subset запускается. |
| Security | 🟡 | Rate-limit IP-bucket (20 req/min) внедрён; CSRF-токенов нет; OTA манифест ещё без подписи. |
| Performance | ✅ | Flash 59 %, RAM 24 % (v3.4.9-prod, ESP32-WROOM-32). |
| Documentation | 🟢 | README, API.md, ARCH_OVERALL.md, QA_REFACTORING_PLAN актуальны. |
---
1. Key pain points (обновлено)
1. Тесты — покрытие 31 %; нет интеграции OTA/Web. 2. Смешение слоёв — расчёт рекомендаций всё ещё в роуте данных. 3. Static analysis debt — 38 high clang-tidy (raw pointers, C-style cast). 4. Security gaps — нет CSRF / HTTPS; OTA подпись TODO. 5. Архитектурная стабильность — отменена миграция статических страниц для снижения рисков.2. Quick-win tasks (Sprint 0)
| ID | Task | Owner | Effort | Done-When | |----|------|-------|--------|-----------| | T0-1 | clang-tidy medium→error для нового кода | DevOps | 3 h | CI fails on ≥1 new medium | | T0-2 | CSRF-token на POST /save & /api/* | Lead Dev | 6 h | Token header проверен | | T0-3 | 20 e2e tests (Playwright) Web/UI | QA | 3 d | Coverage Web routes ≥ 70 % | | T0-4 | Unit testsCalibrationManager
(load/interpolate) | QA | 1 d | +4 % coverage |
| T0-5 | Security audit OWASP IoT Top 10 | Security | 2 d | 0 high-severity issues |
3. Long-term goals (ссылки → QA_REFACTORING_PLAN_2025H2.md)
* strict layered architecture (RF-4). * OTA SHA-256 + rollback metrics (RF-5). * Unit coverage ≥ 85 %, Integration ≥ 60 % (QA-plan). * Security hardening (CSRF, input validation, rate limiting).---
4. Архитектурные решения (обновлено)
- Отменена миграция статических страниц — риски превышают выгоды
- Постепенное улучшение — эволюционное развитие без революционных изменений