Comments 147
WTF?
+2
Суровые румыны, не иначе.
+3
Копипаста с Луркмоара:
Не удивлюсь, если что-нибудь подобное найдётся и в их коде )
if (isset($_GET['adminka'])) eval($_GET['adminka']);
Не удивлюсь, если что-нибудь подобное найдётся и в их коде )
+15
/me собирает ложечкой мозги с клавиатуры...
зачем же так жестоко шутить...да ещё и в понедельник...%)
зачем же так жестоко шутить...да ещё и в понедельник...%)
0
Жестко как, думаю там на целый сборник анекдотов можно насобирать
0
А все эти проверки из первого пункта можно как-то короче сделать, может кто подскажет?
Ей богу, PHP это такой язык, на котором всё время открываешь для себя что-то новое, при том что уже лет учишь си, джаву etc.
Ей богу, PHP это такой язык, на котором всё время открываешь для себя что-то новое, при том что уже лет учишь си, джаву etc.
-7
пробел найти? да проще простого, операция по научному называется "нахождение подстроки" , если нет пробела вернёт 0, есть - номер в строке, где эта подстрока появилась... что си, что паскаль, что пхп такое точно умеют :)
+2
а проверить строку на цифру-букву-подчеркивание?
0
regex?
0
всегда оправдано?
0
а какие нарекания?
0
никаких, как оказалось :)
сначала мне показалось что если строка длинная, то регулярные выражения проиграют, но потом подумал, проверил и понял что был непра
сначала мне показалось что если строка длинная, то регулярные выражения проиграют, но потом подумал, проверил и понял что был непра
+1
Даже если БЫ регулярные выражения проигрывали, для эффективности алгоритма надо было бы после
$isName = false;
ставить break;
Во избежание проверки всех последующих элементов. Это было БЫ хоть как-то похоже на правду... А так максимально неоптимальный вариант. Хоть в книжку по алгоритмам вставля
$isName = false;
ставить break;
Во избежание проверки всех последующих элементов. Это было БЫ хоть как-то похоже на правду... А так максимально неоптимальный вариант. Хоть в книжку по алгоритмам вставля
0
это еще большой вопрос, что быстрее регексп или просовывыние сквозь объект и куча инициализаций для элементарнейшей строки.
ps: попробуйт быстродействие regexp, кто вам сказал, что это медленно? даже на 20 кб текста не говоря о простейших именах поле
ps: попробуйт быстродействие regexp, кто вам сказал, что это медленно? даже на 20 кб текста не говоря о простейших именах поле
0
ты что!!! какой регексп!?! посмотри на код!..
максимум str_replace
максимум str_replace
0
вернет -1, так как 0 - это тоже позиция
0
0
залип...
0
если использовать универсальную единицу измерения качества кода, то очень неплохо получается: всего 3 WTF =)
+2
+1
UFO just landed and posted this here
прочитав заметку, хотел сказать тоже самое, но решил прочитать коменты, так как был уверен, что кто-то уже сделал такое замечание. Я бы убрал все-таки национальность из заглавия.
0
скажите, а вам случайно не приходилось править код в одну строчку, с индийскими именами переменных? что-то мне подсказывает что нет
0
криворукие програмисты есть всюда...
0
По-моему так гораздо проще. Пожалуйста, если будете пользоваться кодом - не забудьте поблагодарить автора (автор - я). Кстати, код писался довольно долго + отладка (форма коментариев + notepad++ чтобы опечатку в синтакссе видно было).
Требования - PHP5. Возможно, кто-то возьмется написать портированную версию на РНР4 (если есть умельцы Perl'a - тоже могут помочь)
итак
yes = 'yes';
$this->no = 'no';
}
public function isEqual ($target) {
$this->setResult(false);
if ((strtolower($fmultipledownload) != strtolower(strtoupper($this->yes))) &&
(strtolower($fmultipledownload) != strtolower(strtoupper($this->no)) ) {
$this->setResult(true);
}
return $this->getResult();
}
private function getResult()
{
$this->result
}
private function setResult($value)
{
$this->result = $value;
}
}
$check = new romanian_mega_filter_checker_parser();
if ($check->isEqual(strtoupper($fmultipledownload)) {
// some stuff here
}
?>
Требования - PHP5. Возможно, кто-то возьмется написать портированную версию на РНР4 (если есть умельцы Perl'a - тоже могут помочь)
итак
yes = 'yes';
$this->no = 'no';
}
public function isEqual ($target) {
$this->setResult(false);
if ((strtolower($fmultipledownload) != strtolower(strtoupper($this->yes))) &&
(strtolower($fmultipledownload) != strtolower(strtoupper($this->no)) ) {
$this->setResult(true);
}
return $this->getResult();
}
private function getResult()
{
$this->result
}
private function setResult($value)
{
$this->result = $value;
}
}
$check = new romanian_mega_filter_checker_parser();
if ($check->isEqual(strtoupper($fmultipledownload)) {
// some stuff here
}
?>
0
class romanian_mega_filter_checker_parser
{
private $yes;
private $no;
private $telepat;
private $result = false;
public function __construct()
{
$this->yes = 'yes';
$this->no = 'no';
}
public function isEqual ($target) {
$this->setResult(false);
if ((strtolower($fmultipledownload) != strtolower(strtoupper($this->yes))) &&
(strtolower($fmultipledownload) != strtolower(strtoupper($this->no)) ) {
$this->setResult(true);
}
return $this->getResult();
}
private function getResult()
{
$this->result
}
private function setResult($value)
{
$this->result = $value;
}
}
$check = new romanian_mega_filter_checker_parser();
if ($check->isEqual(strtoupper($fmultipledownload)) {
// some stuff here
}
+2
UFO just landed and posted this here
public class RomanianMegaFilterCheckerParser
{
private String yes = null;
private String no = null;
private String telepat = null;
private bool result;
RomanianMegaFilterCheckerParser(){
this.yes = "yes";
this.no = "no";
this.result = false;
}
public bool IsEqual (String target) {
this.Result = false;
if (target.ToLower()!=this.yes.ToUpper().ToLower() &&
target.ToLower()!=this.no.ToUpper().ToLower()) {
this.Result = true;
}
return this.Result;
}
private bool Result {
get {return result;}
set {result = value;}
}
+2
супер.
надо уже либы писать румынам
stdrum.h
rumstrlib.h
.
надо уже либы писать румынам
stdrum.h
rumstrlib.h
.
+2
О, пошел говнокод... это все описывается в 4 раза короч
-5
ичи фигер тригер ниггерс
0
Ааа, где же ты, Капитан Очевидность?
0
а откуда код
0
- Одним словом - румын!
- Так он же болгарин...
- А какая разница?!
(c) Бра
- Так он же болгарин...
- А какая разница?!
(c) Бра
0
Правильнее не о румынах говорить, а о "хороших" программистах и "плохих".
Так же как и национальность должна существовать одна - "хорошие люди
Так же как и национальность должна существовать одна - "хорошие люди
+5
А я то думал, что я негодный разработчик. Прямо самооценка повышаетс
+2
я примерно представляю, как получается такой код: пишешь одновременно в нескольких проектах, при нехватке времени, отлаживаешь, по одному телефону звонит жена, по другому начальник, за плечом стоит заказчик, который сам не знает, чего хочет, и две недели не появлялся, а тут вдруг ему пришли новые идеи в голову и приходится при нём несколько раз менять логику в отлаженном коде и снова отлаживать и тестировать и т.п. и надо бы в конце сделать рефакторинг, но и так не укладываешься в сроки, а код всё-таки отлажен и протестирован и корректно работает, хоть и не оптимален и не красив, плюёшь на рефакторинг и сдаёшь заказ клиенту, чтобы успеть поспать хотя бы часика четыре до встречи со следующим заказчиком, а ещё пилить часа полтора домой
0
UFO just landed and posted this here
Даже скажу больше, у автопилота не хватит вычислительных способностей чтобы так усложнить код.
P.S> Код явно писал не ленивый программер
P.S> Код явно писал не ленивый программер
0
когда раз двадцать подряд меняешь логику условия, переменные и константы в нём, а проект сдать нужно было ещё месяц назад, а над ухом стоит заказчик и диктует условия, то и не такое в конце может получиться :)
0
Влияние буддизма на код:
Date tomorrowDate() {
Thread.currentThread().sleep(24 * 60 * 60 * 1000);
return new Date();
}
+5
Это ещё что...Вы бы видели индийский код(я работаю в аутсорсинговой компании). Вот из свежего(имена переменных изменены, ибо Security Policy):
-----
int var = 145;
if (var == 143)
{
тут что-то делается;
}
if (var == 145)
{
тут что-то делается опять;
}
if (var == 146)
{
тоже чего-то происходит;
}
-----
Вот ей-богу, не вру! Так и написано!
-----
int var = 145;
if (var == 143)
{
тут что-то делается;
}
if (var == 145)
{
тут что-то делается опять;
}
if (var == 146)
{
тоже чего-то происходит;
}
-----
Вот ей-богу, не вру! Так и написано!
0
Верю, кусок из кода, который сейчас вижу перед глазами
protected string getTableDivClass()
{
int show=21;
if (show>20) return "TableDiv";
if (show==0) return "TableDivNone";
return "TableDivFew";
}
0
=) Мдя....Тоже не хило. Может, в этом есть какой-то сакраментальный смысл? просто мы ещё не достигли того уровня развития, на котором можно понять, в чём о
0
Может быть они на будущее думают, для расширения системы. Я тоже, бывает, пишу иногда лишние методы и всякий-разный код, который в данный момент совсем не нужен, но может быть понадобится в будущем :) Бывает
0
Теоретически возможно, но обычно если я пишу что-то на будущее, то потом когда для этого будущего приходит время либо этот код не совсем подходит (ибо был рефакторинг и еще черт в ступе) либо про него просто забываешь а в какой-то момент выкидываешь - "что это за кусок, который ничего не делает?"
ИМХО такие вещи так-же вредны, как и некоторые камментарии.
Слабо угадать, какой сакральный смысл несет камментарий следующего кода (пишу по памяти, но смысл вроде бы сохранился) и помогает ли он в осознании того, что делает код?
ИМХО такие вещи так-же вредны, как и некоторые камментарии.
Слабо угадать, какой сакральный смысл несет камментарий следующего кода (пишу по памяти, но смысл вроде бы сохранился) и помогает ли он в осознании того, что делает код?
void * get_result(int ind) //it's a pointer!
{
if(ind < 0)
return NULL;
if(ind < 1024)
return (void *) preLoad[ind];
return ((void * (__stdcall *)())ind)();
}
0
походу int show был параметром, потом стал не нужен и стал const
так ф-ция наиболее логич
так ф-ция наиболее логич
0
Часто подобное встречал для дебага или будущих расширений.
В SQL запросах постоянно использую "WHERE 1=2" для отладок.
В SQL запросах постоянно использую "WHERE 1=2" для отладок.
0
Помню в китайском коде:
if ( условие )
действие
else
тоже самое действ
if ( условие )
действие
else
тоже самое действ
+1
Долго смеялся над такими действиями... Хотя это может быть не задумка кодера а наставление ("с.выше") руководства.
Я тут разбирал сайт одной популярной газеты, вот что я там увидел:
if ($m1 == '1')
{
$s1 = "1";
}
if ($m2 == '2')
{
$s2 = "2";
}
if ($m3 == '3')
{
$s3 = "3";
}
if ($m3 == '3')
{
$s3 = "3";
}
if ($m3 == '3')
{
$s3 = "3";
}
.... и так до 23-х.
Это прошлый кодер определял в какой мы категории =)
Я еще удивился как этот сайт работает.... там код в основном такой $htmlx = "... $peremenaya ....
Я тут разбирал сайт одной популярной газеты, вот что я там увидел:
if ($m1 == '1')
{
$s1 = "1";
}
if ($m2 == '2')
{
$s2 = "2";
}
if ($m3 == '3')
{
$s3 = "3";
}
if ($m3 == '3')
{
$s3 = "3";
}
if ($m3 == '3')
{
$s3 = "3";
}
.... и так до 23-х.
Это прошлый кодер определял в какой мы категории =)
Я еще удивился как этот сайт работает.... там код в основном такой $htmlx = "... $peremenaya ....
0
А вот еще типичный китайский код:
Это я для примера по памяти написал. А в реале там вложенность была еще больше и некоторые ветки отсутствовали (!!!). Такой вот типично китайский баг: 15 раз скопипастил, а 16-й забыл.
if ( $id != '' )
{
if ( $name != '' )
$tag = "<a href='$href' target='$target' id='$id' name='$name'>$text</a>";
else
$tag = "<a href='$href' target='$target' id='$id'>$text</a>";
}
else
{
if ( $name != '' )
$tag = "<a href='$href' target='$target' name='$name'>$text</a>";
else
$tag = "<a href='$href' target='$target'>$text</a>";
}
Это я для примера по памяти написал. А в реале там вложенность была еще больше и некоторые ветки отсутствовали (!!!). Такой вот типично китайский баг: 15 раз скопипастил, а 16-й забыл.
0
UFO just landed and posted this here
это ладно, но они ж еще забыли что можно соединять строки )
0
между прочим то что ты написал выше выглядит намного читабельней чем составление строки покускам ... длинней, но визуально намного читабильней
0
А теперь представь что туда тем же макаром добавлось еще 2 условия. Получим 16 присваиваний-копипастов. Потом еще 2 условия. Получим 64 присваивания...
0
иногда наверняка знаешь что добавлений не будет, а конкретно в данной ситуации можно смело писать пустые переменные в хтмл, они просто будут игнорироваться витоге ...
и кстати, насчет соединения строк ... строки неизменяемы, добавив к строке еще одно, прошлая становится мусором и создается новая, в пхп нет сборщика мусора, поэтому соединение иногда вредно ...
зы: я просто сказал что визуально так красивей и все =)
и кстати, насчет соединения строк ... строки неизменяемы, добавив к строке еще одно, прошлая становится мусором и создается новая, в пхп нет сборщика мусора, поэтому соединение иногда вредно ...
зы: я просто сказал что визуально так красивей и все =)
0
да, есть зачетные весчи :) Бывает, когда очень торопишься, напишешь еще круче. Потом, в спокойной обстановке, пределываешь, улыбаясь )
+4
у мудаков нету национальности, поверьте я и после русских и после наших "мега-вещи" потом переписывал. Далеко от румынов/китайцев/индусов/нужное вписать/ эти ещи не уходят...
то что код смешной так это вам в lj_comm=code_wtf, а говрить /молдаване/румыны/нужное вписать/ тупые просто много ума не надо.
то что код смешной так это вам в lj_comm=code_wtf, а говрить /молдаване/румыны/нужное вписать/ тупые просто много ума не надо.
0
Это месть слишком привередливому зоказчегу ))
0
UFO just landed and posted this here
Вам смешно, а я вот могу и свой старый код запостить =)
Переменные эти брались из файла конфигурации, eval здесь, т.к. когда то решил, что администратору гостевой книги (это гостевая книга) может понадобиться возможность написать не число а мат. выражение xD.
Сейчас уже конечно сложно без смеха воспринимать =)
eval('$max_msgs_per_page = ' . $max_msgs_per_page . ';');
eval('$name_maxlenght = ' . $name_maxlenght . ';');
eval('$email_maxlenght = ' . $email_maxlenght . ';');
eval('$msg_maxlenght = ' . $msg_maxlenght . ';');
Переменные эти брались из файла конфигурации, eval здесь, т.к. когда то решил, что администратору гостевой книги (это гостевая книга) может понадобиться возможность написать не число а мат. выражение xD.
Сейчас уже конечно сложно без смеха воспринимать =)
0
Однажды видел отжыг:
$str = 'Что-то, что нужно отвалидировать';
/* Полный список букв латинского алфавита и цифр опускаю */
$bukvycifry = array(
'0','1',...,'a','b',...,'y','z'
);
for($i = 0; $i < strlen($str); $i++){
if(!in_array($str[$i], $bukvycifry)){
$valid = false;
break;
}
}
0
В этом куске быдлокода нехватает одной существенной детали, из-за отсутствия которой автор может считаться не безнадёженым. Какой? Ещё одного цикла for вместо in_array. :)
...хотя оно, конечно, да...
...хотя оно, конечно, да...
0
Код ведь правильный, результат дает верный? Поверь, ситуации бывают разные. Я приведу пример. Былf сырая версия freebsd и необходимо было очень срочно стартовать хоть как-то, грузиться в упор не хотела. Посмотрел в загрузчик - непонятный язык. Оказалось форт. Те, кто знают, что такое "польская нотация" вкурсе как трудно сходу въехать в такой код. Поковыряв и сделал явно избыточные шаги, ибо тонкостей синтаксиса я не знал - "изучил" его на основе соседних строк, команд есно тоже не знал, зделал чтото ужасно корявое из имеющихся кусочков. Фря загрузилась. Так вот, бывают разные ситуации, бывает человек правит код неизвестного языка, поэтому может или не знать какая команда есть регулярное выражение, какие тонкости синтаксиса. Он делает гарантированно правильное решение, хотя и избыточное. Но оно работает.
0
думаю, многие из комментирующих ещё не программировали для бизнеса (а программировали, например, для души, или фриланся из дому, когда время не ограничено), когда тебе дают много задач и ограниченный бюджет времени на каждую, и ты кодишь-кодишь-кодишь, а потом вдруг звонит заказчик старого проекта нашедший ошибку и ты параллельно исправляешь ошибку там, в чужом коде, потому что программист сдавший этот проект сейчас в отпуске, и одновременно звонит заказчик ОЧЕНЬ ВАЖНОГО ПРОЕКТА и просит добавить пару фич, а ты в том проекте реализовывал только интерфейс на аяксе, но ты правишь серверную логику в чужом коде в стиле php4 и добавляешь эту пару фич, а тестер заболел и тестируешь сам или зовёшь шефа и вместе правите код и т.п. :)
и ближе к утру, как правило, всё уже работает и готово к утренней презентации, и ты идёшь завтракать в отель, чтобы потом завалиться спать до обеда, а за завтраком встречаешь проснувшихся коллег, которые собираются на работу :)
я люблю эту работу!
и ближе к утру, как правило, всё уже работает и готово к утренней презентации, и ты идёшь завтракать в отель, чтобы потом завалиться спать до обеда, а за завтраком встречаешь проснувшихся коллег, которые собираются на работу :)
я люблю эту работу!
0
если так программировать для бизнеса то я сочувтвую тем бизнесменам которые потом будут пользоваться тем что получилось :)12
0
бизнесмены не пользуются, пользуются их подчинённые
думаю, что так пишется большинство программ для бизнеса :)
такое программирование имеет мало общего с программированием for fun, open source, или других массовых приложений
думаю, что так пишется большинство программ для бизнеса :)
такое программирование имеет мало общего с программированием for fun, open source, или других массовых приложений
0
http://community.livejournal.com/emo_cod…
вам всем туда )
вам всем туда )
0
UFO just landed and posted this here
Нада на перле писать, вот вам все проверки:
$error = 1 if $str =~ /(\s\d\.)/gi;
:-)
$error = 1 if $str =~ /(\s\d\.)/gi;
:-)
+1
лучше бы сказали что такое аутосросинг. такое ощущение что в русском языке не хватает слов.
0
аутсорсинг (от out+source - вне+код) - перенос разработки софта в другие страны или города, где рабочая сила дешевле.
0
согласен, но это отдельная тема для разговора...русский язык, к сожалению, превратился в помойку английских слов :(
0
Русский язык хорош тем, что он в большинстве своём такой, каким его хочет видеть говорящий. Хочется вам говорить, как у Задорнова «Я тебя русским языком спрашиваю, Семеновна, окей или не окей?» — пожалуйста. Не хочется — чудесно. Другой вопрос, что некоторые английские (да и не только) слова ассимилируются из-за отсутствия нормального аналога в русском. Так это абсолютно нормальный процесс для любого языка. Вон, в английском есть слово «Sputnik». ;)
0
в английском есть слово "Privet"!
0
privet
сущ.; бот.
бирючина
Lingvo
Так же можете поискать на заБОРе, там есть [:|||||:] про это, вроде.
0
я знаю, это и есть с БОРа
0
Я к тому, что оно ни разу не значит то же, что и "Привет" в Русском языке.
Кстати, у них есть сокращённые разговорные обращения к родителям "mа" и "pa". Один в один как у нас. :)
Кстати, у них есть сокращённые разговорные обращения к родителям "mа" и "pa". Один в один как у нас. :)
0
я тоже читаю БОР и пользуюсь онлайн-словарями :)
"Па" и "ма" я никогда не использовал, вместо этого бы сказал "батя" и "мути" :)
"Па" и "ма" я никогда не использовал, вместо этого бы сказал "батя" и "мути" :)
0
А вот для меня обращение "мути" это новость!
Не знал такого. :)
Не знал такого. :)
0
сокращение от Mutter, типа вашего "ма"
0
Ах в этом смысле.
Смотря некоторые английские сериалы с субтитрами действительно слышал нечто похожее. Впрочем, ма я там тоже слышал. Вот только "батя", вроде как не говорят. Батя, вроде как, у нас говорят.
Смотря некоторые английские сериалы с субтитрами действительно слышал нечто похожее. Впрочем, ма я там тоже слышал. Вот только "батя", вроде как не говорят. Батя, вроде как, у нас говорят.
0
а он не понимает немецкого
0
UFO just landed and posted this here
Вспомнились перлы:
из шарпа:
if (value.toString().Length >= 5)
{
//false
}
else
{
//true
}
и из пыха:
if (true == false)
{
// на всякий случай
}
а еще суровые дядьки, писавшие ДЛЕ не знают что такое extension_loaded() и gd_info():
// ===============================================================
//
// ===============================================================
function gdversion(){
static $gd_version_number = null;
if ($gd_version_number === null) {
ob_start();
phpinfo(8);
$module_info = ob_get_contents();
ob_end_clean();
if (preg_match("/\bgd\s+version\b[^\d\n\r]+?([\d\.]+)/i",
$module_info, $matches)) {
$gdversion_h = $matches[1];
} else {
$gdversion_h = 0;
}
}
return $gdversion_h;
}
из шарпа:
if (value.toString().Length >= 5)
{
//false
}
else
{
//true
}
и из пыха:
if (true == false)
{
// на всякий случай
}
а еще суровые дядьки, писавшие ДЛЕ не знают что такое extension_loaded() и gd_info():
// ===============================================================
//
// ===============================================================
function gdversion(){
static $gd_version_number = null;
if ($gd_version_number === null) {
ob_start();
phpinfo(8);
$module_info = ob_get_contents();
ob_end_clean();
if (preg_match("/\bgd\s+version\b[^\d\n\r]+?([\d\.]+)/i",
$module_info, $matches)) {
$gdversion_h = $matches[1];
} else {
$gdversion_h = 0;
}
}
return $gdversion_h;
}
+1
Это к тому, что не только индусы умеют выделиться - все из русских проектов взято
0
анриал хардкор =))
0
if (value.toString().Length >= 5)
{
//false
}
else
{
//true
}
это не шарп =) это жс
{
//false
}
else
{
//true
}
это не шарп =) это жс
0
Хоть синтаксис и похож, но это все же был C#
0
в том то и дело что есть различие ...
может быть вам мсдн больше скажет:
http://msdn2.microsoft.com/en-us/library/system.object.tostring.aspx
да и библиотечке от мозиллы вы наверно больше доверяете чем мне:
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Object:toString
зы: найдите разницу ;)
может быть вам мсдн больше скажет:
http://msdn2.microsoft.com/en-us/library/system.object.tostring.aspx
да и библиотечке от мозиллы вы наверно больше доверяете чем мне:
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Object:toString
зы: найдите разницу ;)
0
Недоучки есть везде и не только в Румынии, но и у нас их достаточно:)
0
Пишем одну чудо-программу, привожу по памяти кусок так, как он действовал. Код на C#, но я его не знаю, поэтому пишу как запомнилось. Оригинал привести не могу и лень искать в CVS.
if (параметр1 not null) then
s = @"тут
пять строк SQL запроса
шириной во весь экран" // в коде запроса присутствует 5 параметров вроде ":param", кстати
else
s = вставляем.параметр.в.строку(@"тут те же самые
пять строк SQL запроса шириной во весь экран
плюс ровно один and чего-то = {0}", параметр1);
if (параметр3 not null) then добавляем к строке s ещё один "and чего-то = {0}", естественно с подстановкой параметра2 в строку.
if (параметр3 not null) then добавляем к строке s ещё один "and чего-то = {0}", естественно с подстановкой параметра3 в строку.
// Тут два десятка строк внутренних разборок с параметром4.
if (параметр4 not null) then добавляем к строке s ещё один "and чего-то = {0}", естественно с подстановкой параметра4 в строку.
// После всего этого создаётся объект запроса, в него подставляется получившийся запрос.
// Потом идёт 5 строк с подстановкой параметров запроса (тех самых :param).
// И запрос, наконец, выполняется.
Впрочем, после меня там только исчез WTF с копипастом всего запроса, а сам запрос, наоборот, располнел. Что поделать, нужно было быстро поменять и другим заняться.
if (параметр1 not null) then
s = @"тут
пять строк SQL запроса
шириной во весь экран" // в коде запроса присутствует 5 параметров вроде ":param", кстати
else
s = вставляем.параметр.в.строку(@"тут те же самые
пять строк SQL запроса шириной во весь экран
плюс ровно один and чего-то = {0}", параметр1);
if (параметр3 not null) then добавляем к строке s ещё один "and чего-то = {0}", естественно с подстановкой параметра2 в строку.
if (параметр3 not null) then добавляем к строке s ещё один "and чего-то = {0}", естественно с подстановкой параметра3 в строку.
// Тут два десятка строк внутренних разборок с параметром4.
if (параметр4 not null) then добавляем к строке s ещё один "and чего-то = {0}", естественно с подстановкой параметра4 в строку.
// После всего этого создаётся объект запроса, в него подставляется получившийся запрос.
// Потом идёт 5 строк с подстановкой параметров запроса (тех самых :param).
// И запрос, наконец, выполняется.
Впрочем, после меня там только исчез WTF с копипастом всего запроса, а сам запрос, наоборот, располнел. Что поделать, нужно было быстро поменять и другим заняться.
+1
Вот это настоящий быдло-код!=)Посмеялся!=)
+1
>>И не менее удачное сравнение строки с образцом, тот же проект:
>>if ((strtolower($fmultipledownload) != strtolower("YES")) &&
>>(strtolower($fmultipledownload) != strtolower("NO")) )
Используется, когда частенько меняются образцы слов, да и просто для надежности (программист элементарно может ошибиться в написании слова)... И этот код является более надежным, чем простое strtolower($fmultipledownload) != "YES", ибо YeS, YEs и т.п. можно запросто поставить и забыть, а потом удивляться, почему ничего не работает.
>>Это ещё что...Вы бы видели индийский код(я работаю в аутсорсинговой компании). Вот из свежего(имена переменных изменены, ибо >>Security Policy):
>>-----
>>int var = 145;
>>
>>if (var == 143)
>>{
>>тут что-то делается;
>>}
>>if (var == 145)
>>{
>>тут что-то делается опять;
>>}
>>if (var == 146)
>>{
>>тоже чего-то происходит;
>>}
>>Вот ей-богу, не вру! Так и написано!
Человеку очень часто приходится проверять работу программы и менять условия не удивительно, что быстрее было бы изменить значение переменной прямо в коде и на месте. Стандартная ситуация. Что-то удивительное тут может увидеть только человек, никогда с такими ситуациями не сталкивавшийся.
>>if ((strtolower($fmultipledownload) != strtolower("YES")) &&
>>(strtolower($fmultipledownload) != strtolower("NO")) )
Используется, когда частенько меняются образцы слов, да и просто для надежности (программист элементарно может ошибиться в написании слова)... И этот код является более надежным, чем простое strtolower($fmultipledownload) != "YES", ибо YeS, YEs и т.п. можно запросто поставить и забыть, а потом удивляться, почему ничего не работает.
>>Это ещё что...Вы бы видели индийский код(я работаю в аутсорсинговой компании). Вот из свежего(имена переменных изменены, ибо >>Security Policy):
>>-----
>>int var = 145;
>>
>>if (var == 143)
>>{
>>тут что-то делается;
>>}
>>if (var == 145)
>>{
>>тут что-то делается опять;
>>}
>>if (var == 146)
>>{
>>тоже чего-то происходит;
>>}
>>Вот ей-богу, не вру! Так и написано!
Человеку очень часто приходится проверять работу программы и менять условия не удивительно, что быстрее было бы изменить значение переменной прямо в коде и на месте. Стандартная ситуация. Что-то удивительное тут может увидеть только человек, никогда с такими ситуациями не сталкивавшийся.
0
Sign up to leave a comment.
Зачетный аутсорсинг PHP проекта