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*, *который устанавливает в соответствующее состояние, а вызывающие товарищи могут его проверить. Но есть ведь и более красивые и правильные решения, ведь правда?

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

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

[identity profile] bobka.livejournal.com 2005-01-17 07:41 pm (UTC)(link)
Керниган и Ричи нам заповедали эффективность. А Страуструп (в 3-ем издании) - правильность. А Моисей - скрижали. Вообще, им бы стоило заранее договориться, что ли...

[identity profile] pechkin.livejournal.com 2005-01-17 11:34 pm (UTC)(link)
Думаю, не раньше, чем все помрут и встретятся. Да и то -- разве Страуструп еврей? Непохоже.