2012-02-19 9 views
0

Я работаю с некоторым устаревшим кодом, где я использую значение столбца и его более раннюю историю, чтобы сделать некоторые сравнения и выделить различия. Тем не менее, столбец хранится в произвольном порядке, и код вокруг сравнения хорошо, очень трудно понять.преобразование устаревших данных в формат json

Моя первоначальная мысль заключалась в том, чтобы реорганизовать код, но когда я подумал об этом, я подумал, почему не исправить исходный источник проблемы, который является данными в этом случае. У меня есть некоторые ограничения вокруг структуры таблицы, и поэтому преобразование этого из одного столбца в несколько столбцов не является вариантом.

С учетом этого я подумал, стоит ли конвертировать эти данные с ограниченным ограничением в стандартизованный формат, такой как json. Моим подходом было бы экспортировать эти данные в какой-то файл и применить некоторые регулярные выражения и преобразовать эти данные в формат json, а затем снова импортировать их.

Я хотел проверить эту группу, если я подхожу к этой проблеме правильно, и если есть другие идеи, которые я должен рассмотреть. Является ли JSON правильным форматом в первую очередь? Я хотел бы знать, как вы подошли к аналогичной проблеме. Благодаря!

ответ

0

Однако колонка хранится в суровом ограничении, а код вокруг сравнения хорошо, очень трудно понять.

Таким образом, проблема заключается в ремонтопригодности/изменяемости кода для добавления или модификации функциональных возможностей.

Моя первая мысль была рефакторинг кода - но когда я потом подумал об этом, я подумал, почему бы не исправить оригинал вопроса, который является данные в этом случае.

Мое мнение таково: почему? Я думаю, что твоя первоначальная мысль была правильной. Вы должны реорганизовать (т. Е. «... реструктурировать существующий кусок кода, изменяя его внутреннюю структуру, не изменяя его внешнего поведения»), чтобы получить то, что вы хотите. Если вы измените формат данных, вы можете в любом случае завершить грязный код над новым форматом данных кулера.

В других словах вы можете использовать все комбинации, потому что они не имеют строгого отношения: у вас может быть классный формат данных с грязным кодом или с фантастическим кодом, и вы можете иметь уродливый формат данных с фантастическим кодом или грязный код.

Кажется, что вы находитесь в последнем случае, но переходите от этого случая к: прохладному формату данных + грязному коду, а затем для охлаждения формата данных + фантастический код менее прост, чем: фантастический код + уродливый формат данных, а затем классный формат данных + фантастический код (необязательно).

Так мое мнение направьте цели прямым путем:

1) писать тесты (если у вас нет) для текущих функциональных возможностей и проверить их с текущим кодом (первый шаг для рефакторинга)

2) изменить код, приводимый в тестах писали в 1

3) Если вы все еще хотите, изменить формат данных, когда-либо руководствоваться тестами

с уважением

+0

Спасибо - мне очень нравится, как вы структурировали это - перемещение из грязного кода, чтобы очистить код под уродливыми данными для структурированных данных. Я думаю, этот аргумент разъясняет мое направление! –

Смежные вопросы