Аудит кодової бази веб-застосунку

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Аудит кодової бази веб-застосунку
Складна
~5 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Аудит кодової бази веб-програми

Аудит кодової бази — системний аналіз накопленого технічного боргу, архітектурних проблем та ризиків. Відрізняється від ревью тим, що охоплює весь проект, а не окремий PR. Результат — пріоритизований список дій, а не просто список проблем.

Що включає аудит

1. Статичний аналіз коду 2. Залежності та уязвимості 3. Покриття тестами 4. Продуктивність збірки 5. Архітектурні паттерни 6. Документація та API-контракти

Статичний аналіз: TypeScript/JavaScript

# TypeScript: строга перевірка
npx tsc --noEmit --strict

# ESLint: аналіз якості
npx eslint . --ext .ts,.tsx --format=json > eslint-report.json

# Пошук мертвого коду
npx ts-prune  # неиспользовані экспорти
npx knip     # неиспользовані залежності та файли

# Дублікати коду
npx jscpd --min-tokens 50 --reporters html src/

Аналіз залежностей

# npm audit
npm audit --json > audit-report.json

# Застаріле пакеты
npm outdated --json

# Аналіз розміру bundle
npx @next/bundle-analyzer
# Або
npx webpack-bundle-analyzer stats.json

# Ліцензії залежностей (ризики GPL у комерційних проектах)
npx license-checker --summary --onlyAllow "MIT;ISC;BSD;Apache-2.0"

Покриття тестами

# Jest
npx jest --coverage --coverageReporters=json-summary

# Пороги покриття
# У jest.config.ts:
coverageThreshold: {
  global: {
    branches: 60,
    functions: 70,
    lines: 70,
    statements: 70,
  },
},

Архітектурний аналіз: що шукати

// ПРОБЛЕМА: God Component (компонент робить все)
// 500+ строк, множество useEffect, прямі API-виклики в компоненті

// ПРОБЛЕМА: Prop drilling через 4+ рівні
<App user={user}>
  <Layout user={user}>
    <Sidebar user={user}>
      <UserMenu user={user} />  // краще: Context або Zustand

// ПРОБЛЕМА: Циркулярні залежності
// utils → services → utils (може вызвать неочевідні баги)
npx madge --circular src/

// ПРОБЛЕМА: Великі файли
find src -name "*.ts" -o -name "*.tsx" | xargs wc -l | sort -n | tail -20

PHP/Laravel аудит

# PHPStan: статичний аналіз
./vendor/bin/phpstan analyse --level=5 app/

# PHP Insights
php artisan insights

# Пошук N+1 запитів (Clockwork, Laravel Debugbar)
# config/debugbar.php: 'capture_ajax' => true

# Неіспользовані маршрути
php artisan route:list --format=json | python3 -c "
import json, sys
routes = json.load(sys.stdin)
print(f'Total routes: {len(routes)}')
"

Звіт по аудиту

Структура документа:

# Аудит кодової бази MyProject — 2024-03

## Резюме
- **Критичні проблеми:** 3
- **Важні проблеми:** 12
- **Рекомендації:** 24
- **Технічний борг (оцінка):** 120 годин

## Критичні проблеми

### 1. SQL Injection в UserController.php:142
**Ризик:** Утечка всієї БД
**Приклад:** `DB::raw("SELECT * FROM users WHERE name = '{$name}'")`
**Рішення:** Використовувати параметризовані запити
**Приоритет:** Виправити негайно

### 2. Секрети в репозиторії
**Файл:** .env.example містить реальні API-ключі
**Рішення:** Ротація ключів, додавання в .gitignore

## Важливі проблеми

### 1. Покриття тестами: 23%
**Поточне:** 23% строк, 18% гілок
**Мета:** 60%+ строк, 50%+ гілок
**Оцінка:** 40 годин

## Дорожна карта

| Квартал | Задачі | Годин |
|---|---|---|
| Q1 2024 | Критичні + безопасність | 30 |
| Q2 2024 | Рефакторинг архітектури | 50 |
| Q3 2024 | Тести + документація | 40 |

Аудит середної кодової бази (50–200 файлів) — 3–7 робочих днів. Крупний проект (500+ файлів) — 2–4 тижні.