golosptic: (Default)
[personal profile] golosptic
Ковыряю документацию по некоему XML API.
Наткнулся на техничное инженерное решение - два элемента с одинаковым именем в одной ветке. Означают разные вещи. Различаются по порядку следования. Так бы и убил бы, блин.

Date: 2011-12-25 03:16 pm (UTC)
From: [identity profile] aljon.livejournal.com
"два элемента с одинаковым именем в одной ветке"
Мдя...
Впрочем, всякое можно в xml увидеть :)

Date: 2011-12-25 03:27 pm (UTC)
From: [identity profile] golosptic.livejournal.com
Ну вообщем дизайн API у этой системы прямо-таки эпически корявый.

Date: 2011-12-25 03:46 pm (UTC)
From: [identity profile] aljon.livejournal.com
Ну API для меня вообще тёмный лес. Обычно пишу в таких случаях слёзное письмо программистам с простой всё наладить :)
менеджер, фигли :)

Date: 2011-12-25 03:50 pm (UTC)
From: [identity profile] golosptic.livejournal.com
Ну неспециалисту сложно оценить инженерные решения типа 3-значной интерпретации булева поля (в зависимости от его значения или от того, что его вообще нет).

Date: 2011-12-25 04:14 pm (UTC)
From: [identity profile] aljon.livejournal.com
Наш спец меня научил некоторым азам.
По крайней мере, научил как ошибка выглядит :)

А из того, что ты написал - ну ничего не понял :)

Date: 2011-12-25 04:21 pm (UTC)
From: [identity profile] aljon.livejournal.com
А так-то я самым грамотным у нас на работе считаюсь, ну после админов, конечно :)

Date: 2011-12-25 04:26 pm (UTC)
From: [identity profile] kincajou.livejournal.com
трёхзначная логика, ничего страшного

Date: 2011-12-25 04:35 pm (UTC)
From: [identity profile] golosptic.livejournal.com
ничего страшного, только так делать - коряво

Date: 2011-12-25 04:57 pm (UTC)
From: [identity profile] grey-olli.livejournal.com
А собственно как вы собираетесь реализовать поведение по следующему ТЗ: при установленных значениях надо делать как установлено, а если не установлено - спросить пользователя о корректном значении дефолта?

Date: 2011-12-25 04:59 pm (UTC)
From: [identity profile] gornal.livejournal.com
Обязательное к заполнению поле должно иметь три возможных значения со смыслом "yes", "no", "ask".

Date: 2011-12-25 05:01 pm (UTC)
From: [identity profile] golosptic.livejournal.com
Я не буду использовать логическое поле в качестве переключателя, это факт.
Честнее уже сделать либо два логических, либо одно с большим количеством значений.

В обсуждаемой ситуации там переключалось направление передачи (неважно чего) "туда/сюда/в обе стороны".
Так вот, я бы использовал символьный элемент T/S/O.
Хотя бы по той причине, что эту информацию всё равно в БД заносить.
Edited Date: 2011-12-25 05:05 pm (UTC)

Date: 2011-12-28 03:45 am (UTC)
From: [identity profile] ping-ving.livejournal.com
А вот это жопа.
Вышеописанное (Да/Нет/Узнать) - достаточно прямо реализуется булевым полем с тгдд.
Null для этого и придуман.
Здесь же - три осмысленных значения.

Date: 2011-12-28 04:42 am (UTC)
From: [identity profile] golosptic.livejournal.com
Для чего для "этого"? Null придуман, чтобы БД не вываливалась с ошибкой при попытке прочесть незаполненное значением поле.
Если у программы три осмысленных режима работы - туда/сюда/туда-сюда, то им должны соответствовать три осмысленных значения переключателя режима работы.
Page generated Jun. 7th, 2025 11:42 am
Powered by Dreamwidth Studios
OSZAR »