а с другой стороны - так ли уж важно наяривать на идеальный код, точные байтики и микрооптимизации там, где этого реально не требуется? просто, кмк, везде баланс должен быть. были случаи и когда упоротость некоторых лидов при проектировании идеальной (с их точки зрения) архитектуры, побивание палками на ревью всех вокруг и всё такое приводило к тому, что в проекте один фиг без поллитры не разобраться. мне кажется, нужно делать не "правильней", а "проще". если излишних оптимизаций не требуется - сделай проще, не закладывай расширяемость всего и вся на будущее там, где не факт что оно нужно. скопипасть этот модуль, надо будет - объединишь позже. напиши какие-нибудь тесты, лишь бы работали, а не гонись за идеально расписанными контекстами и покрытием 99%. мне кажется, у нас в снг с этим в обратную сторону перегибают часто (хоть и не везде)