По крайней мере, оберните свою "вонючую" структуру данных в класс, чтобы вы могли инкапсулировать ее реализацию, предоставляя чистый API для запроса / изменения данных без какого-либо кода клиента, который ничего не говорит о деталях хранилища.
Тогда вы сможете в любой момент изменить реализацию структуры данных.Если вы не сделаете этого сейчас, вы можете пожалеть об этом позже, когда у вас будет в 10 или 100 раз больше клиентского кода, и это слишком дорого / болезненно для рефакторинга.
Вы можете обнаружить это, пока выаккуратно храните его в капсуле, и он работает, тот факт, что вы чувствуете, что он вонючий, на самом деле не имеет значения - пока код выполняет то, что ему нужно, и его можно обслуживать, нет смысла вкладывать в него гораздо больше времени.(Я не выступаю за сохранение грязного кода, но мы должны сбалансировать коммерческие реалии с нашим желанием достичь теоретического совершенства - если код работает и не вызывает каких-либо проблем, то это не всегда может быть хорошим использованием вашего времени дляулучшите или реорганизуйте его. Вместо этого вы можете обнаружить, что на данный момент достаточно просто нейтрализовать риски, заключив его в класс и изолировав грязную реализацию от его клиентов)