pechkin: (Default)
pechkin ([personal profile] pechkin) wrote2005-01-17 05:10 pm

(no subject)

Ох, тяжел ты, выбор между эффективностью кода и его Правильностью!..

[identity profile] basile.livejournal.com 2005-01-17 08:17 am (UTC)(link)
Очень редкий случай и наводит на мысли об ошибках проектирования.

[identity profile] pechkin.livejournal.com 2005-01-17 11:39 pm (UTC)(link)
Смотри, какая штука: есть на форме два чекбокса. В зависимости от комбинации галочек нужно либо не посылать на сервер запроса ВАОбще, либо послать с параметром, установленным в одно положение, либо в другое, либо без параметра вовсе. Пишется фюнкция, которая эту ситуацию рулит. Вопрос: как сделать так, чтобы запрос не посылался, если не нужно ВАОбще? На данный момент фюнкция получает bool*, *который устанавливает в соответствующее состояние, а вызывающие товарищи могут его проверить. Но есть ведь и более красивые и правильные решения, ведь правда?

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

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