Skip to content

Latest commit

 

History

History
55 lines (50 loc) · 5.51 KB

File metadata and controls

55 lines (50 loc) · 5.51 KB

Workflow реализации фичи (WIP)

  1. Причесать бриф
    1. Составить словарь терминов
    2. Составить список приёмочных тестов
  2. Замапить изменения на текущий код
    1. Найти эндпоинты
    2. Найти модели и таблицы
    3. Построить карту влияния изменений в таблицах на эндпоинты
    4. Определить, какие эндпоинты попадат в рамки фичи
    5. Построить диаграммы структуры эндпоинтов
    6. Найти тест-кейсы
    7. Выявить обновлённые требования к эндпоинтам
    8. Составить саммари текущей реализации
  3. Уточнить бриф
  4. спроектировать апи ❓
  5. спроектировать модель
  6. спроектировать схему данных
  7. спроектировать миграцию данных
  8. Составить обновлённый список кейсов эндпоинтов
    1. сверить текущие кейсы с обновлёнными требованиями
  9. Спроектировать реализацию
  10. Замапить кейсы на изменения в коде
    1. для каждого кейса из обновлённого списка составить перечень изменений в коде, необходимых для его обеспечения
    2. перечень отдельных правок вести отдельными списком и в маппинге просто ссылаться на них.
  11. упорядочить кейсы по топологическому порядку и возрастанию кол-ва изменений
  12. для каждого кейса по очереди
    1. закодировать кейс
    2. сделать его зелёным

Что надо сделать для реализации фичи:

Надо: научить гопатыча, проводить интервью и формировать: 1. техническую постановку задачи; 2. перевод технической постановки задачи на код И не факт, что это - часть фреймворка

  1. Составить ТЗ с техлидом

  2. Классифицировать - изменение существующей функциональности или добавление новой;

  3. запросить стартовые точки маппинга - эндпоинты, таблицы, очереди сообщений, обработчики сообщений, фоновые задачи

  4. Надо замапить ТЗ на текущий код - что уже есть, как это работает сейчас, что надо добавить, что надо поменять

    1. Замапить код реализации;
      1. Найти эндпоинты
        1. Надо понять о каких местах в UI идёт речь в ТЗ, и откуда (в каких эндпоинтах) UI берёт данные и куда (в какие эндпоинты) отправляет команды
      2. Найти модели/таблицы
        1. Надо догадаться о каких сущностях идёт речь в ТЗ.
          1. В общем случе надо найти в коде все классы с @Table и все таблицы в схеме текущей тестовой БД, которую надо создать прогнав тесты
    2. По коду реализации найти тест-кейсы;
  5. Надо сделать предварительную уборку в релевантном коде;

    1. Для каждого модуля релевантного кода прогнать его по актуальному чеклисту гайдлайна разработки и составить список требуемых стилистических рефакторингов;
    2. Попытаться понять есть ли структруные рефакторинги, которые сделают реализацию ТЗ более простой и если есть - составить список структурных рефакторингов;
      1. Пример абстркатный - вести слой косвенности, в место, где планируется добавление вариативности работы; Пример конкретный - ТЗ требует подключения нового источника пользователей в системе, а в текущей реализации захардкожен единственный источник и реалзиция завязана на его особенности. Тогда можно заранее создать абстркцию источника пользователей, завязать бизенс-код на эту абстракцию и при реализации ТЗ, изменений в бизенс-коде не потребуется.
  6. Надо составить тест-кейсы на обновлённое и новое поведение

  7. Надо спроектировать решение

  8. Надо реализовать решение