metaclass: (Default)
[personal profile] metaclass
Нужно обмениваться данными с другой программой. Сделал для ее разработчиков документ с описанием формата на базе CSV, в котором есть такие строки:

"дата - формат dd.mm.yyyy, с выводом незначащих нулей."

"в первых трех строках последнее поле не указано, поэтому в конце строки стоит ;" (Всего полей шесть, последнее может быть пустым и чтобы парсеру не обрабатывать частные случаи - пустое последнее поле должно быть).

Присылают файл с такими строками:
"10780;11077112;31.03.2009;1.04.2009;1014"

Вопрос, что я объяснил не так?

Date: 2009-03-31 09:35 am (UTC)
From: [identity profile] dizel-by.livejournal.com
Мысли разработчиков: "да чё он там выпендривается? распарсит он любой вывод, а нам бы сдать побыстрее, чтобы хоть чуть-чуть похоже было"

Date: 2009-03-31 09:53 am (UTC)
From: [identity profile] metaclass.livejournal.com
Это понятно, что я то разберу то, что они прислали, но я как бы специально во избежание лишних проблем(т.е. чрезмерно интеллектуального кода) с анализом файла протокол им прислал.
Там и так логика импорта занимать будет 1/10 от кода "защиты от дурака".

Date: 2009-03-31 09:44 am (UTC)
From: [identity profile] guamoka.livejournal.com
Может быть, не привел пример, что должно быть 01.04.2009 (а не 1.04.2009/1.4.09 и т.д.), если ты об этом?

Date: 2009-03-31 09:55 am (UTC)
From: [identity profile] guamoka.livejournal.com
Ну и да. Пример строк с граничными условиями

строка с пустым последним полем: "10780;11077112;31.03.2009;01.04.2009;1014;"
строка с двумя пустыми полями посередине: "10780;;;01.04.2009;1014;123"

и т.д.

Date: 2009-03-31 09:55 am (UTC)
From: [identity profile] metaclass.livejournal.com
Да, надо было указать. Хотя, что удивительно - там где есть время, они его выводят с незначащими нулями.

Date: 2009-03-31 09:44 am (UTC)
From: [identity profile] familom.livejournal.com
Я думаю, стОило еще пример строки добавить.

Date: 2009-03-31 09:54 am (UTC)
From: [identity profile] potan.livejournal.com
Начинаю понимать, зачем XML придумали...

Date: 2009-03-31 10:02 am (UTC)
From: [identity profile] aamonster.livejournal.com
Это начальная стадия овладения xml.
Следующая - когда начинаете удивляться, зачем xml придумали.

Date: 2009-03-31 10:12 am (UTC)
From: [identity profile] henu3detb.livejournal.com
А что может быть лучше XML для обмена данными со _сторонними_ приложениями, написанными в другой организации другими людьми? Как раз тут веб-сервисы уместны.

Date: 2009-03-31 10:34 am (UTC)
From: [identity profile] metaclass.livejournal.com
Какой xml, какие веб-сервисы, там прога под DOS, на паскале и btrieve. :)

Date: 2009-03-31 10:54 am (UTC)
From: [identity profile] aamonster.livejournal.com
Если не нужна "читабельность" данных - вариации TLV (хотя бы Google Protocol Buffers).

Если нужна - JSON (привет веб-сервисам), YAML.

Да, кстати - названные мной форматы по большому счету изоморфны XML.

Date: 2009-03-31 10:58 am (UTC)
From: [identity profile] aamonster.livejournal.com
Ну а для конкретных случаев, когда не требуется вся гибкость xml-подобной хрени - более простые форматы.
К примеру, NMEA-0183 (GPS) - отнюдь не на основе XML, и не вижу смысла в замене его на xml-формат.

Date: 2009-03-31 11:30 am (UTC)
From: [identity profile] henu3detb.livejournal.com
Это все понятно. Я просто считаю, что заморачиваться с этими форматами имеет смысл в рамках одной организации, для ремоутинга. А для взаимодействия с хрензнаетчем и хрензнаетгде и хрензнаеткемнаписанном лучше более распространенные форматы, поддерживаемые почти всеми платформами. Но это на самом деле все неважно уже, в свете того написал metaclass.

Date: 2009-03-31 01:30 pm (UTC)
From: [identity profile] potan.livejournal.com
S-выражения.

Date: 2009-03-31 11:00 am (UTC)
From: [identity profile] potan.livejournal.com
Удивляюсь я уже давно.

Date: 2009-03-31 10:03 am (UTC)
From: [identity profile] vp.livejournal.com
ачтоэтотакое?

метакласс не написал, что "экпорт будет из НИИ", там таких слов не слышали.

Date: 2009-03-31 10:13 am (UTC)
From: [identity profile] guamoka.livejournal.com

там таких слов не слышали


обычно все гораздо хуже. у них там СВОЙ xml:)

Date: 2009-03-31 11:20 am (UTC)
From: [identity profile] sergiej.livejournal.com
А потом будет ответ как я однажды получил: "а что у вас в XML важен порядок полей?!?!?!"

Date: 2009-03-31 12:14 pm (UTC)
From: [identity profile] vp.livejournal.com
а что, важен? :)

Date: 2009-03-31 12:31 pm (UTC)
From: [identity profile] sergiej.livejournal.com
:) ну если прописано через ","
<!ELEMENT чел (возраст, рост, пол)>
если пол будет перед ростом, то файл невалидный.

Date: 2009-03-31 12:50 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Херассе забабоны.
А какой смысл могут нести такие ограничения, если при обработке все равно элементы по имени искать придется?

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-03-31 12:53 pm (UTC) - Expand

Такой пойдёт?

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 09:15 am (UTC) - Expand

(no subject)

From: [identity profile] volodymir-k.livejournal.com - Date: 2009-03-31 01:39 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-03-31 02:15 pm (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-03-31 02:21 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-03-31 02:41 pm (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-03-31 03:05 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-03-31 03:12 pm (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-03-31 03:22 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-03-31 03:26 pm (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-03-31 06:08 pm (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 09:29 am (UTC) - Expand

(no subject)

From: [identity profile] vp.livejournal.com - Date: 2009-04-01 10:39 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-04-01 10:48 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 10:56 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-04-01 11:02 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 11:03 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-04-01 11:16 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 11:22 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 10:53 am (UTC) - Expand

(no subject)

From: [identity profile] volodymir-k.livejournal.com - Date: 2009-04-02 09:10 pm (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-03-31 02:55 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2009-03-31 03:08 pm (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 08:38 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_windwalker_/ - Date: 2009-03-31 09:49 pm (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 08:44 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_windwalker_/ - Date: 2009-04-01 09:00 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 09:18 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_windwalker_/ - Date: 2009-04-01 09:45 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 09:51 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_windwalker_/ - Date: 2009-04-01 09:55 am (UTC) - Expand

(no subject)

From: [identity profile] sergiej.livejournal.com - Date: 2009-04-01 10:15 am (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_windwalker_/ - Date: 2009-04-01 10:16 am (UTC) - Expand

Date: 2009-03-31 09:59 am (UTC)
From: [identity profile] aamonster.livejournal.com
Ну, про примеры - уже сказали.
А основное - забыли, что работаете с нормальными живыми людьми, и если они делают что-то не так - надо не удивляться этому, а указать им на ошибки.
Тут, кстати, стоит по возможности сделать именно это, а не решить проблему со своей стороны - просто для того, чтобы соответствовало документации (а то потом могут быть проблемы с поддержкой... а правка документации - отдельный разговор).

Date: 2009-03-31 10:03 am (UTC)
From: [identity profile] metaclass.livejournal.com
Это зависит от того, с кем работать. С другой стороны люди, которые воспримут указание на ошибки, как издевательство над ними.

Date: 2009-03-31 10:59 am (UTC)
From: [identity profile] aamonster.livejournal.com
Угу. Учить психологию, изучать собеседников, учиться с ними работать. Чай, не сферические кони в вакууме =)

Date: 2009-03-31 11:21 am (UTC)
From: [identity profile] sergiej.livejournal.com
Я такое без дальнейших комментариев отфутболиваю с припиской: "просьба сделать согласно документации"

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 21st, 2025 05:01 am
Powered by Dreamwidth Studios