Здравствуйте, gandjustas, Вы писали:
G>1)Ты не указал юзкейсы для этого кода, а значит его можно бесконечно усложнять всякими частными случаями
И много здесь частных случаев? Приведите несколько примеров, дабы стало понятно, попробую уточнить.
G>2)Для такой задачи работа с файлами — неверный уровень абстракции. Подробнее тут
Никто не мешает вам абстрагироваться от файлов. При запуске программы пользователь вводит не имя файла, а имя счетчика. Оно может не совпадать с именем файла.