Я тут встала на скользкий путь введения автоматизации с нуля на проекте. Почему скользкий? Потому что ошибок можно совершить вагон и в итоге сделать не что-то полезное, а что-то, что будет сжирать время, ресурсы и нервы.
Поэтому, стоя на берегу, решила вывести для себя принципы, через которые буду пропускать все свои решения. Итак, какой проект я в итоге хочу:
-
расширяемый. Добавление новых фичей и их тестирование не должно стать проблемой. Отсюда хелперы/утилиты пишем с мыслью, что возможно расширение функционала. Но не пишем этот функционал, пока он не потребуется;
-
минималистичный. Только необходимые здесь и сейчас либы, методы, пейджи. Никакого повтора кода, только реюз уже существующего. И тут важно не упороться в абстракции ради абстракций.
-
простой для понимания. Хочу, чтобы новопришедшие на проект смогли разобраться в нем без рюмки водки. Так что, по ходу пьесы, надо будет периодически абстрагироваться и смотреть на результат работы со стороны.
Что мне может помочь для этого всего? Насмотренность - походить по проектам других команд всегда полезно. Углубление уровня владения инструментами - привет, документация! Ну и, конечно, взгляд со стороны - ревью, обсуждения - наше все.