Это я привел всего лишь пример, вопрос не про него, а про ситуацию вообще
Как понять какие части кода надо делать универсальные а какие жеско прописывать?
Если это не социальная сеть, где трафик исчисляется петабайтами, а нагрузка на базу - тысячами запросов в секунду, то наиболее рациональное решение в подобных вопросах, на мой взгляд, давно было найдено и называется оно
ООП, в т.ч. для обработки данных, во многих системах (например, фреймворках) присутствует такая сущность как объект (или "модель" если угодно), в которую Вы без особого труда можете добавить новое свойство, рассчитываемое динамически. Это отлично работает в большинстве случаев.
Другой пример решения подобных "проблем" - на уровне БД (я подозреваю, что речь про хранение данных в текстовых файлах не идёт?), например, в той же MySQL (всем до боли знакомой) есть
механизм "виртуальных колонок", который решает проблему и с валютами (при должном желании) и с ценой за кв.м. и так далее. Ещё более простой вариант, который существует, наверное, во всех РСУБД - использовать VIEWS, дополняя его новыми значенями по мере необходимости, ещё вариант - создать триггер на INSERT/UPDATE и добавить новую колонку, значение которой будет вычисляться автоматически.
Ну и т.д., примеров масса, но, как верно подметил предыдущий оратор - всё зависит от конкретного случая и универсального инструмента ни для решения подобных задач, ни для проведения строительных работ (как пример) - пока не придумали. Какие-то задачи лучше решаются "молотком", какие-то "дрелью"...