LINUX.ORG.RU

История изменений

Исправление Manhunt, (текущая версия) :

Назначение комментов (кроме как глазами смотреть) - когда я обрабатываю эти файлы с параметрами (скажем ищу нужный расчет), я могу поспрашивать у системы обработки что тот или иной параметр значит. Параметров много, их имена и даже смысл в процессе эволюции кода могут меняться, лучше что бы эта информация была сразу доступна для анализа.

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

Тогда всё-таки надо отделить метаданные о расчетах (состав и неформальное описание смысла параметров) от собственно результатов расчетов (значения параметров). То есть отдельно хранить схему данных (+комменты к схеме), и отдельно сами данные. И вычитывать ты будешь не перемешанные с данными комменты, а будешь делать diff между схемами (актуальной, и той, которая сохранена вместе с данными), процесс вычитывания от этого вроде как должен значительно упроститься. При загрузке/выгрузке данных, они должны всегда и автоматически валидироваться на формальное соответствие схеме...

с учетом тендценций развития питона и постоянным сломом обратной совместимости

Для pickle же есть явное обещание обратной совместимости: "The pickle serialization format is guaranteed to be backwards icompatible across Python releases provided a compatible pickle protocol is chosen and pickling and unpickling code deals with Python 2 to Python 3 type differences if your data is crossing that unique breaking change language boundary."

Поэтому и хочется сменить формат, но на что то такое что лет 30 проживет без необходимости туда лазить. Что бы написал и забыл а оно себе работает;-)

Наоборот, из-за изменений в языке придётся время ото времени лазить в самодельный сериализатор и адаптировать его под новые реалии. А с готовыми библиотеками (и с pickle в частности) за тебя это делают другие люди, знай обновляйся..

Исправление Manhunt, :

Назначение комментов (кроме как глазами смотреть) - когда я обрабатываю эти файлы с параметрами (скажем ищу нужный расчет), я могу поспрашивать у системы обработки что тот или иной параметр значит. Параметров много, их имена и даже смысл в процессе эволюции кода могут меняться, лучше что бы эта информация была сразу доступна для анализа.

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

Тогда всё-таки надо отделить метаданные о расчетах (состав и неформальное описание смысла параметров) от собственно результатов расчетов (значения параметров). То есть отдельно хранить схему данных (+комменты к схеме), и отдельно сами данные. И вычитывать ты будешь не перемешанные с данными комменты, а будешь делать diff между схемами (актуальной, и той, которая сохранена вместе с данными), процесс вычитывания от этого вроде как должен значительно упроститься.

с учетом тендценций развития питона и постоянным сломом обратной совместимости

Для pickle же есть явное обещание обратной совместимости: "The pickle serialization format is guaranteed to be backwards icompatible across Python releases provided a compatible pickle protocol is chosen and pickling and unpickling code deals with Python 2 to Python 3 type differences if your data is crossing that unique breaking change language boundary."

Поэтому и хочется сменить формат, но на что то такое что лет 30 проживет без необходимости туда лазить. Что бы написал и забыл а оно себе работает;-)

Наоборот, из-за изменений в языке придётся время ото времени лазить в самодельный сериализатор и адаптировать его под новые реалии. А с готовыми библиотеками (и с pickle в частности) за тебя это делают другие люди, знай обновляйся..

Исходная версия Manhunt, :

Назначение комментов (кроме как глазами смотреть) - когда я обрабатываю эти файлы с параметрами (скажем ищу нужный расчет), я могу поспрашивать у системы обработки что тот или иной параметр значит. Параметров много, их имена и даже смысл в процессе эволюции кода могут меняться, лучше что бы эта информация была сразу доступна для анализа.

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

Тогда всё-таки надо отделить метаданные о расчетах (состав и неформальное описание смысла параметров) от собственно результатов расчетов (значения параметров). То есть отдельно хранить схему данных (+комменты к схеме), и отдельно сами данные. И вычитывать ты будешь не перемешанные с данными комменты, а будешь делать diff между схемами (актуальной, и той, которая сохранена вместе с данными), процесс вычитывания от этого вроде как должен значительно упроститься.

с учетом тендценций развития питона и постоянным сломом обратной совместимости

Для pickle же есть явное обещание обратной совместимости: "The pickle serialization format is guaranteed to be backwards icompatible across Python releases provided a compatible pickle protocol is chosen and pickling and unpickling code deals with Python 2 to Python 3 type differences if your data is crossing that unique breaking change language boundary."

Поэтому и хочется сменить формат, но на что то такое что лет 30 проживет без необходимости туда лазить. Что бы написал и забыл а оно себе работает;-)

Наоборот, из-за изменений в языке придётся время ото времени лазить в самодельный сериализатор и адаптировать его под новые реалии. А готовыми библиотеками (и с pickle в частности) за тебя это делают другие люди, знай обновляйся..