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

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. 8th, 2025 06:25 pm
Powered by Dreamwidth Studios
OSZAR »