Привет, всем.
Лонгрид ниже не по теме чата. Отправьте пожалуйста в правильном направлении.
[язык программирования - НЕпопулярный, можно сказать ископаемый, поэтому в тексте его не упоминаю]
Кейс:
Код юнит тестами покрыт.
Основной бизнес-процесс (далее бп1) зеленый.
3-й день происходит такое:
- То интерфейс(метода, класса) перекроЮ. Потом обратно.
- То класс в библиотеку переделаю. Потом обратно.
- То методы перенесу. Потом обратно.
- и т.д.
Целеполагание для активностей выше:
1. Подготовка кода к "масштабированию", а именно
к существующему бп1, необходимо добавить 2-ой похожий (далее бп2).
2. Убрать технический долг, а именно: переписал одну из фич, старую реализацию фичи надо выпилить и вместо нее вкрутить новую реализацию.
Есть ощущение, что
- слишком стараюсь вычистить технический долг: по ходу выпиливания подвисаю, что "вот тут тоже не плохо бы переписать" или "это стоит подкрутить, а то потом не вспомню зачем так сделано"
- завис на том, что "прежде чем делать бп2 НАДО выделить из бп1 потенциально переиспользуемый код и разложить его по абстракциям". [... пишу и думаю, вот кому это НАДО, и точно ли надо?]
Метрики кода:
бп1 - 8 модулей, LOC=631 (~30% - с "техническим долгом")
Тесты - 1 модуль, LOC=640 (половина тест-сьюта - это проверка старых версий кода для бп1)
Утилиты - 1 модуль, LOC=71
Варианты развития событий:
А. Сформулировать критерии завершения для (1). С этим туго: чего-то я точно НЕ знаю и потому туго.
Б. Начать писать тесты для бп2. Может тогда станет понятнее, как завершить (1). Этот пункт пугает: как начать, если предыдущее не окончено.
В. Другое.
Как оптимальнее продвинуться дальше?