Re[3]: Смерть булевским аргументам!
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 11.09.09 07:20
Оценка:
Здравствуйте, jazzer, Вы писали:

I>>Все в сослагательном наклонении, потому-что конкретная проблема надумана, аргумент конечно же должен задаваться в радианах.

J>Можете выбрать любой цвет, при условии что вы выбираете черный :)
J>Не все так однозначно.
J>Градусы хороши своей целочисленностью.

Не целочисленностью, конечно же — вон Земля наклонена примерно под 23.45 градусов (23 градуса 27 минут). А значительно большей естественностью для человека. Анализировать внутри программы поворот на 30 градусов как-то проще, чем на 0.52 радиана.

Автопилот совершенно естественно может давать корректировки на нецелое число градусов (хотя вот он будет скорее всего считать в радианах).

I>>Возможно стоит добавить, что это преобразование нужно выполнять только при вводе информации от пользователя, внутри программа должна иметь дело только с радианами.

J>см. выше.
J>То же, кстати, относится к доброй половине финансовых программ, где цены, вроде как, не целые, но из лучше хранить как целые или как пару целых.

Там — да, тут — не вижу основания для перехода на целые.

I>>PS. Этот автор у тебя тоже в числе экспертов?

J>Я *там* в качестве эксперта упоминал Глассборо — есть сомнения, что он эксперт? Тот, кого ты *там* нашел, я впервые увидел. Ладно, здесь это офтопик в любом случае.
J>А эта конкретная статья в RSS прилетела, посмеялся, пока читал, решил сюда запостить.
J>Надеюсь, что вы тоже посмеялись.

Скорее поплакали.:)))

J>С другой стороны, хоть и смешно, но проблема реальная: во многих признанных API (в винде, например) булевские переменные летают только в путь, в результате смотришь в вызов функции с пятью true, как дурак, и пытаешься понять, что же они все означают.


Ну там системное API, что поделать.
Хотя если бы аргументы были гарантированно названы и язык позволял (как C++) — можно было бы писать SysCloseDoor(hDoor, immediately = true, ignore_obstacle = true, lock = false). Я так делаю в Питоне, потому что удобнее.:) хотя в рантайме и чуть дороже.

J>Так что мысль вроде как и очевидна, да, видать, лень побеждает — bool же проще сунуть, чем целое перечисление объявлять или вообще специальный полноценный тип ваять.


Так её надо побеждать встречной ленью — дебажить полученное.;))
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.