1. 1C / Говнокод #8171

    −134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    Для Каждого ТекущаяСтрока Из ОтработанноеВремя Цикл
            ТекущаяСтрока.ИтогоЧасов=0;
    		ТекущаяСтрока.ИтогоЧасов=ТекущаяСтрока.ПервыйЧасов1+ТекущаяСтрока.ПервыйЧасов2+ТекущаяСтрока.ПервыйЧасов3+
    		ТекущаяСтрока.ПервыйЧасов4+ТекущаяСтрока.ПервыйЧасов5+ТекущаяСтрока.ПервыйЧасов6+ТекущаяСтрока.ПервыйЧасов7+
    		ТекущаяСтрока.ПервыйЧасов8+ТекущаяСтрока.ПервыйЧасов9+ТекущаяСтрока.ПервыйЧасов10+ТекущаяСтрока.ПервыйЧасов11+
    		ТекущаяСтрока.ПервыйЧасов12+ТекущаяСтрока.ПервыйЧасов13+ТекущаяСтрока.ПервыйЧасов14+ТекущаяСтрока.ПервыйЧасов15+
    		ТекущаяСтрока.ПервыйЧасов16+ТекущаяСтрока.ПервыйЧасов17+ТекущаяСтрока.ПервыйЧасов18+ТекущаяСтрока.ПервыйЧасов19+
    		ТекущаяСтрока.ПервыйЧасов20+ТекущаяСтрока.ПервыйЧасов21+ТекущаяСтрока.ПервыйЧасов22+ТекущаяСтрока.ПервыйЧасов23+
    		ТекущаяСтрока.ПервыйЧасов24+ТекущаяСтрока.ПервыйЧасов25+ТекущаяСтрока.ПервыйЧасов26+ТекущаяСтрока.ПервыйЧасов27+
    		ТекущаяСтрока.ПервыйЧасов28+ТекущаяСтрока.ПервыйЧасов29+ТекущаяСтрока.ПервыйЧасов30+ТекущаяСтрока.ПервыйЧасов31;	
    		
    		ТекущаяСтрока.ИтогоОклад=0;
    		ТекущаяСтрока.ИтогоОклад= ОКр(ТекущаяСтрока.ИтогоЧасов/ТекущаяСтрока.НормаЧасов*ТекущаяСтрока.Оклад,2);
    		
    		ТекущаяСтрока.Выручка=0;
    		
    		Если ТекущаяСтрока.ПервыйЧасов1>0 тогда
    			НайденнаяСтрока = РабочаяТаблица.Найти(1, "День");
    			Если НайденнаяСтрока = Неопределено Тогда			
    			Иначе
    				ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
    			КонецЕсли;	
    		КонецЕсли;	
    		Если ТекущаяСтрока.ПервыйЧасов2>0 тогда
    			НайденнаяСтрока = РабочаяТаблица.Найти(2, "День");
    			Если НайденнаяСтрока = Неопределено Тогда			
    			Иначе	
    				ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
    			КонецЕсли;	
    		КонецЕсли;	
    		Если ТекущаяСтрока.ПервыйЧасов3>0 тогда
    			НайденнаяСтрока = РабочаяТаблица.Найти(3, "День");
    			Если НайденнаяСтрока = Неопределено Тогда			
    			Иначе
    				ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
    			КонецЕсли;	
    		КонецЕсли;	
    		Если ТекущаяСтрока.ПервыйЧасов4>0 тогда
    			НайденнаяСтрока = РабочаяТаблица.Найти(4, "День");
    			Если НайденнаяСтрока = Неопределено Тогда			
    			Иначе
    				ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
    			КонецЕсли;	
    		КонецЕсли;
    		Если ТекущаяСтрока.ПервыйЧасов5>0 тогда
    			НайденнаяСтрока = РабочаяТаблица.Найти(5, "День");
    			Если НайденнаяСтрока = Неопределено Тогда			
    			Иначе
    				ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Продано;
    			КонецЕсли;	
    		КонецЕсли;	
    
    ************************************************************  и так далее :)

    Почти 300 строк говнокода превращаются в 10 :D

    Для Инд = 1 По 31 Цикл
    Если ТекущаяСтрока["ПервыйЧасов" + Инд] > 0 Тогда
    ТекущаяСтрока.ИтогоЧасов = ТекущаяСтрока.ИтогоЧасов + ТекущаяСтрока["ПервыйЧасов" + Инд];

    НайденнаяСтрока = РабочаяТаблица.Найти(Инд, "День");
    Если НайденнаяСтрока <> Неопределено Тогда
    ТекущаяСтрока.Выручка = ТекущаяСтрока.Выручка+НайденнаяСтрока.Пр одано;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;

    VikUp, 12 Октября 2011

    Комментарии (7)
  2. PHP / Говнокод #8170

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (!is_array($arFilter)) 
    			$filter_keys = Array();
    		else
    			$filter_keys = array_keys($arFilter);
    
    		for ($i=0; $i<count($filter_keys); $i++)
    		{
    			$key = strtoupper($filter_keys[$i]);
    			$val = $arFilter[$filter_keys[$i]];
    // ....
    }

    по всей видимости, в битриксе программистам выдают тяжелые наркотики при входе.. до такой реализации foreach я бы никогда не додумался!

    belukov, 12 Октября 2011

    Комментарии (54)
  3. Java / Говнокод #8169

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    for (char c = '0'; c <= '9'; c++) {
    	// personally, I like java better than c or c++
    	RANDOM_PASSWORD_CHARS[i++] = c;
    }

    lucidfox, 12 Октября 2011

    Комментарии (10)
  4. PHP / Говнокод #8168

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    <?php
    class Html {
    	static private $ShowSiblings; // Управляет отображением похожих категорий
    	static function Initialize($showSiblings) {
    		self::$ShowSiblings = $showSiblings;
    	}
    	static function SimpleLink($target, $text) { // Простая ссылка
    		return '<a href="'.$target.'">'.$text.'</a>';
    	}
    	static function CategorySiblingLink($targetCategory, $text) { // Формирует ссылку на похожую категорию
    		return '<a href="products.php?cat='.$targetCategory.'&page=1">'.$text.'</a>';
    	}
    	static function CategoryLink($targetCategory, $text) { // Формирует ссылку на указанную категорию
    		return '<a href="products.php?cat='.$targetCategory.'&page=1">'.$text.'</a>';
    	}
    }
    ?>

    Один из классов каталога продукции.

    rasufa, 12 Октября 2011

    Комментарии (1)
  5. C# / Говнокод #8167

    +113

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public List<ReducedPayer> red_pay_list
            {
                get
                {
                    if (Session["red_pay_list"] == null)
                        Session["red_pay_list"] = new List<ReducedPayer>();
    
                    return (List<ReducedPayer>)Session["red_pay_list"];
                }
    
                set { Session["red_pay_list"] = value; }
            }

    без коментариев

    bercerker, 12 Октября 2011

    Комментарии (72)
  6. PHP / Говнокод #8166

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    function unzip($location,$newLocation){ 
        if(exec("unzip $location",$arr)) { 
            mkdir($newLocation); 
            for($i = 1;$i< count($arr);$i++) { 
                $file = trim(preg_replace("~inflating: ~","",$arr[$i])); 
                copy($location.'/'.$file,$newLocation.'/'.$file); 
                unlink($location.'/'.$file); 
            } 
            return TRUE; 
        } else { 
            return FALSE; 
        } 
    }

    оттуда же, http://habrahabr.ru/blogs/php/130196/

    тоже непонятно, нафига такие сложности потеха, когда есть стандартное расширение

    http://www.php.net/manual/en/function.ziparchive-extractto.php

    Lure Of Chaos, 11 Октября 2011

    Комментарии (22)
  7. PHP / Говнокод #8165

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $image = 'image.jpg';  
    $ext = getext($image);   
    if($ext == ".jpg") {   
        $img = ImageCreateFromJpeg($image);   
    } else {   
        echo 'Необходимо использовать JPG';   
    }

    http://habrahabr.ru/blogs/php/130196/

    +12 theaqua11 октября 2011, 22:23#
    Без обид, но такое ощущение, что некоторые листинги ошибочно появились тут, хотя им место на govnokod.ru.

    окей, берем самые веселые кусочки. но честно, в сабже все функции -- потеха девятиклассника.

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

    Lure Of Chaos, 11 Октября 2011

    Комментарии (17)
  8. JavaScript / Говнокод #8164

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    /*
      Нужно получить параметры arrFilter_ff[SECTION_ID] и/или arrFilter_pf[VO_MANUF]
      и отправить форму ПУСТЫМ get-запросом на значение /search/arrFilter_ff[SECTION_ID]/arrFilter_pf[VO_MANUF]/
      Если заполнены все (или не только arrFilter_ff/arrFilter_pf) - просто тупо по-обычному отправлять форму
    */
    
    function send_form()
    {
        var section_id, vo_manuf, ff_name, cf_left, cf_right, fully;
        section_id = $('form[name=arrFilter_form] select[name=arrFilter_ff[SECTION_ID]]').val();
        vo_manuf = $('form[name=arrFilter_form] select[name=arrFilter_pf[VO_MANUF]]').val();
        
        ff_name = $('form[name=arrFilter_form] input[name=arrFilter_ff[NAME]]').val();
        cf_left = $('form[name=arrFilter_form] input[name=arrFilter_cf[1][LEFT]]').val();
        cf_right = $('form[name=arrFilter_form] input[name=arrFilter_cf[1][RIGHT]]').val();
        
        if(cf_left == undefined) cf_left = "";
        if(cf_right == undefined) cf_right = "";
        
        fully = ff_name+cf_left+cf_right;
          
        if(fully != "")
        {
    	$('form[name=arrFilter_form]').submit();
        }
        else
        {    
        if(section_id != 0 && vo_manuf == "") window.location.href = "/search/"+section_id+"/";
        if(section_id == 0 && vo_manuf != "") window.location.href = "/search/0/"+vo_manuf+"/";
        if(section_id != 0 && vo_manuf != "") window.location.href = "/search/"+section_id+"/"+vo_manuf+"/";
        }
    }

    Да, вы не ошиблись, всё это ещё как-то завязано с Битриксом.

    varg242, 11 Октября 2011

    Комментарии (4)
  9. Java / Говнокод #8163

    +74

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    public class test {
    class Oper 
    {
        int a, b, x,y;
        int sum (int x) {
        x = a+b;
        return x;
     }
     int dif (int y) 
     {
      y = a-b;
      return y;
     }
    }
    
    public static void main(String[] args) 
    {
     Oper op = new Oper();
        op.a = 6;
        op.b = 7;
        System.out.println("Сумма=" + op.sum());
        System.out.println("Разность=" + op.dif());
    }

    stonerhawk, 11 Октября 2011

    Комментарии (9)
  10. Куча / Говнокод #8162

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    %%%sum_middle_by_formula_div_formula###$$$"""" + @if(Ispoln="" & @Text(a3)!="" &
     @Text(CtrlDate)!="";(CtrlDate-a3)/86400;Ispoln="" & @Text(a3)!="" &
     @Text(CtrlDate)="";(@Now-a3)/86400;Ispoln="" & @Text(DateDoc)!="" &
     @Text(CtrlDate)!="";(CtrlDate-DateDoc)/86400;Ispoln="" & @Text(DateDoc)!="" &
     @Text(CtrlDate)="";(@Now-DateDoc)/86400;Ispoln="1" & @Text(a3)!="" &
     @Text(a10)!="";(a10-a3)/86400;Ispoln="1" & @Text(a3)!="" &
     @Text(a10)="";(@Now-a3)/86400;Ispoln="1" & @Text(DateDoc)!="" &
     @Text(a10)!="";(a10-DateDoc)/86400;Ispoln="1" & @Text(DateDoc)!="" &
     @Text(a10)="";(@Now-DateDoc)/86400;(@Now-@Created)/86400) + """"~~~"1"&&&
     %%%resultsbyselectedcolumns###"ИТОГО"$$$@Text(kolvo) + "~~~" + "-" + "~~~" + 
     "-" + "~~~" + "-" + "~~~" + @Text(ispor) + "~~~" + @Text(ispolz) + "~~~" + 
     @Text(vsego) + "~~~" + "-"&&&

    Мало того что Lotus Notes сам по себе говно по сути и содержанию, так вот некоторые умельцы умудряются возвести это говно в степень так, что оно начинает глаза резать...
    ЗЫ. Это шаблон скрипта используемого в модуле отчетов. Там такого тонны...
    ЗЫЗЫ. Если автор этого узнал свое творение, пожалуйста убейся, быстро, решительно, я зае***ся это разгребать.

    d_dev, 11 Октября 2011

    Комментарии (3)