Однако столбец хранится произвольно с разделителями, и
Код для сравнения хорошо, очень трудно понять.
Так что, похоже, проблема в возможности сопровождения / развития кода для добавления или изменения функций.
Моей первоначальной мыслью было рефакторинг кода - но когда я позже подумал
об этом я подумал, почему бы не исправить первоначальный источник проблемы, которая
это данные в этом случае.
Мое мнение таково: почему? Я думаю, что ваша первоначальная мысль была правильной. Вы должны провести рефакторинг (т.е. «... реструктурировать существующее тело кода, изменив его внутреннюю структуру без изменения внешнего поведения»), чтобы получить то, что вы хотите. Если вы измените формат данных, то в любом случае вы можете получить грязный код над новым форматом данных кулера.
Другими словами, вы можете иметь все комбинации, потому что они не связаны строго: у вас может быть классный формат данных с грязной кодировкой или с фантастическим кодом, и вы можете иметь уродливый формат данных с фантастическим кодом или грязный код.
Кажется, вы в последнем случае, но переходите от этого случая к: классному формату данных + грязный код, а затем к классному формату данных + фантастический код менее прост, чем: фантастический код + некрасивый формат данных и затем классный формат данных + фантастический код (необязательно).
Так что мое мнение таково: назовите вашу цель прямым путем:
1) написать тесты (если вы этого не сделали) для текущих функций и проверить их с помощью текущего кода (первый шаг для рефакторинга)
2) изменить код, управляемый тестами, написанными в 1
3) Если вы все еще хотите, измените формат данных, руководствуясь вашими тестами
Привет