преобразование устаревших данных в формат json - PullRequest
0 голосов
/ 19 февраля 2012

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

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

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

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

1 Ответ

0 голосов
/ 19 февраля 2012

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

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

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

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

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

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

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

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

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

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

Привет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...