- 1
- 2
- 3
- 4
- 5
- 6
bool or(bool x1, bool x2) {
if (x1 || x2)
return true;
else
return false;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+183
bool or(bool x1, bool x2) {
if (x1 || x2)
return true;
else
return false;
}
Я РЕАЛЬНО видел такой код, написанный на полном серьёзе.
Мистер Хэнки 14.11.2010 17:32 # −4
rat4 14.11.2010 18:41 # −7
andremacareno 14.11.2010 20:16 # +6
rat4 15.11.2010 10:11 # 0
absolut 15.11.2010 12:16 # −1
koodeer 15.11.2010 13:10 # +3
absolut 15.11.2010 14:13 # 0
andremacareno 15.11.2010 14:44 # 0
http://ipicture.ru/uploads/20101115/QnXoU0ny.png
В Notepad++ or подсвечивается, но Борландом такой код не компилируется (как только я заменил or на ||, код сразу же скомпилировался).
Если действительно or есть, то подскажите мне ряд компиляторов, в которых он поддерживается.
absolut 15.11.2010 14:58 # 0
andremacareno 15.11.2010 20:15 # 0
absolut 15.11.2010 20:39 # 0
absolut 15.11.2010 15:17 # +1
AxisPod 15.11.2010 07:50 # 0
rat4 15.11.2010 10:22 # +2
Govnoeb 15.11.2010 15:23 # 0
#include <govnokod>
и выключить предупреждения в свойствах проекта
antonpv 14.11.2010 19:24 # −14
Чтобы помочь сему куску говонкода избавиться от приставки "говёности", говнокодеру на сях нужно было бы написать так(хотя затея с добавлением or странная):
inline bool or(bool x1, bool x2)
{
return (x1 || x2);
}
Govnocoder#0xFF 14.11.2010 21:01 # 0
Oleg_quadro 15.11.2010 13:48 # +1
Govnoeb 15.11.2010 00:27 # 0
унылый долбоебизм
ctm 15.11.2010 08:31 # +3
1) поганая реализация функции.
2) сделана ненужная функция (захламляет код тока), которая даже не инлайновая.
3) и вообще, функция не делает того, что должна: нельзя написать or(ptr == NULL, ptr->field == NULL).
TarasB 15.11.2010 11:32 # 0
Реальное говно, что неполная проверка уже того (пункт 3).
delirium 15.11.2010 17:44 # 0
ctm 16.11.2010 22:00 # 0
но функция все-равно лишняя.
TheCalligrapher 15.11.2010 18:10 # +2
Например, у вас есть реализация некоего абстрактного общего алгоритма, который должен быть параметризован снаружи конкретной булевской функцией-callback-ом. Например, это может быть алгоритм выполнения некоей теоретико-множественной операции над двумя наборами полигонов (пересечение, объединение, разность и т.п.)
За использование имени `or`, конечно, стоит пожурить, ибо является оно одним из alternative tokens.
absolut 15.11.2010 18:22 # +1
TarasB 15.11.2010 23:05 # 0
Govnoeb 16.11.2010 13:30 # 0
Govnoeb 16.11.2010 13:30 # −3
bool (*)(bool, bool) - Гениально!
template<typename _callback_>
bool or(bool l, bool r, _callback_ true_or) { return true_or(l, r); } - вот так оказывается пишут реальные пацаны!
TarasB 16.11.2010 19:03 # +1
Некоторые операции в качестве параметра требуют функцию. Из-за отсутствия в языке анонимных методов приходится писать несколько тупых однострочных функций типа
{return i==j}
{return a[i]>0}
и так далее
rat4 16.11.2010 20:50 # 0
absolut 16.11.2010 22:54 # 0
Govnoeb 17.11.2010 14:10 # −2
absolut 17.11.2010 17:54 # 0
ctm 16.11.2010 22:05 # +2
Да и название функции это никак не отражает - увидя конкретно этот код, не зная особенностей остальных исходников, возникает вывод о говнокоде.
Этот же вывод слелает новый программист, которого посадят на этот проект.
absolut 18.11.2010 14:21 # 0
Только у него уже будет контекст перед глазами.
ctm 18.11.2010 15:30 # 0
absolut 18.11.2010 15:35 # 0
ctm 18.11.2010 15:44 # 0
а где-то в инклудах упоминание модуля встречается, а где - хз.
такое может быть?)
контекст найти можно, но его ж искать придется - сразу не видно%)
absolut 18.11.2010 15:57 # 0
guest666 18.11.2010 23:16 # −4