Некоторые команды разработчиков вообще не используют систему контроля версий. Да, это пугает. Но придется смотреть правде в глаза.
Я предлагаю соблюдать гигиену: не бойтесь повторяться. Не пытайтесь свести каждый бит логики в один код, используйте отдельные функции, даже если код в них будет отчасти повторяться. Создайте функции для каждого случая: пусть одна оставляет заглавной только первую букву первого слова, вторая делает заглавной первую букву каждого слова, а третья фактически форматирует имя файла. Эти функции не обязательно должны располагаться рядом друг с другом — код для имени файла может оставаться ближе к бизнес-логике, которой он необходим.
Мой выбор — участвовать в гонке за будущим. Поддерживайте библиотеки в актуальном состоянии. Возьмите за правило регулярно их обновлять. Это время от времени будет вызывать ошибки в коде, но так вы узнаете, какая его часть более хрупкая, чтобы добавить туда больше тестов.