1. PHP / Говнокод #206

    +24.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if(empty($real_name)) $real_name = $file_name; 		
    if(empty($real_name)) $real_name="fileid_".$id;
    
    .... 
    
    if($mode=="send") {
    	$head[] = array("link" => "customer.php?area=$area&mode=send", "title" => func_get_langvar_by_name("lbl_send_to_mail"), active=>"Y");
    }	else	{
    	$head[] = array("link" => "customer.php?area=$area&mode=send", "title" => func_get_langvar_by_name("lbl_send_to_mail"), active=>"n");
    }

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

    1. Думаю, все тут ясно.
    2. Чувак явно не знает что такое логика... Мало того, что в одну строку ложится массив, так еще и ВЕЗДЕ строковые 'Y'/'N' использует вместо булевых труфолсов. И такого говна - тыщи 2 строк. Ы =)

    Не позавидую тем, кто будет дописывать / переделывать.
    ЗЫ: Скрипт - рип корпоративной системы.

    Запостил: guest, 16 Декабря 2008

    Комментарии (8) RSS

    • страйко:
      битрикс-стайл
      [url]http://govnokod.ru/8[/url] — вот кто его научил :)
      Ответить
    • единственный косяк, это то что можно было обойтись без if ... else а просто (...)?"Y":"N"

      а в остальном сойдет.
      Y или N вместо true и false иногда применимы, например, если есть 3-ий какой-нибудь вариант
      Ответить
    • kay:
      > ЗЫ: Скрипт - рип корпоративной системы.
      до боли знакомый код. в каком городе находится компания?
      Ответить
    • asserte:
      kay, не могу распространять информацию.
      Говногость, да ну? я же говорю про булевы переменные. Их у нас три, да?
      >> 'Y'/'N' использует вместо булевых труфолсов
      Ответить
    • anmiles:
      1. а где active дальше используется? точно не в выводе?
      2. проверка на пустоту в первой строчке точно не нужна?
      Ответить
    • asserte:
      anmiles, внимательнее читай комменты. Тут обсуждение идет введение тупых Y/N вместо нативных true/false.

      Y/N в строковом представлении дальше нигде не видел :)
      Ответить
    • Londeren:
      >>1. а где active дальше используется? точно не в выводе?

      а если бы и в выводе, уж наверно лучше там было бы if поставить чем тут такой хуетищщей заниматься. потом есличе хоть в одном месте только править пришлось бы
      Ответить
    • Svoloch:
      Это говнокод изза повторения куска кода, а y/n присваиваются просто полю и вообще тут не причём.
      Ответить

    Добавить комментарий