1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #3792

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function ostatok($chislo1, $chislo2){
    	$delit=$chislo1/$chislo2;
    	$celoe=round($delit);
    	$ostatok=$chislo1-$chislo2*$celoe;
    	return $ostatok;
    }

    1. Всё можно было уместить в 1 строчку.
    2. Когда аффтору кода сказали о существовании функции fmod - он был немного в шоке.

    XyHb, 27 Июля 2010

    Комментарии (25)
  3. PHP / Говнокод #3759

    +168

    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
    function endPanel()
    	{
    		if($this->type=="common" || $this->type=="common_blank")
    		{
    				?>
    								</div>
    						</div>
    				</div>
    				<?php
    		}
    		elseif($this->type=="common_short")
    		{
    				?>
    								</div>
    						</div>
    				</div>
    				<?php
    		}
    		elseif($this->type=="main" || $this->type=="main_small")
    		{
    			?>
    					</div>
    				</div>
    				<div class="bottom">
    					<div class="bottom-right"></div>
    				</div>
    			</div>
    			<?php
    		}
    		elseif($this->type=="light" || $this->type=="light_blank" || $this->type=="light_narrow")
    		{
    			?>
    					</div>
    				</div>
    				<div class="bottom">
    					<div class="bottom-right"></div>
    				</div>
    			</div>
    			<?php
    		}
    	}

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

    xoros, 22 Июля 2010

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function tuc($mensaje)
    {
    	if (ereg("^[a-zA-Z0-9\-_]{1,255}$", $mensaje))
    	{
    		return $mensaje;
    	}else{
    		$mensaje='';
    		return $mensaje;
    	}
    }

    Evil_Wolf, 03 Июля 2010

    Комментарии (25)
  5. JavaScript / Говнокод #3618

    +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
    var titleAlt = String(dbField("title").value);
    if (titleAlt.toLowerCase().indexOf("<b>") != -1) { titleAlt = titleAlt.replace(/<b>/gi, "").replace(/<\/b>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<i>") != -1) { titleAlt = titleAlt.replace(/<i>/gi, "").replace(/<\/i>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<small>") != -1) { titleAlt = titleAlt.replace(/<small>/gi, "").replace(/<\/small>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<br>") != -1) { titleAlt = titleAlt.replace(/<br>/gi, ""); }
    if (titleAlt.toLowerCase().indexOf("<p>") != -1) { titleAlt = titleAlt.replace(/<p>/gi, "").replace(/<\/p>/gi, ""); }
    f = 0;
    while (f != -1) {
        f = titleAlt.indexOf("<img ");
        if (f == -1) { f = titleAlt.indexOf("< img "); }
        if (f == -1) { f = titleAlt.indexOf("<  img "); }
        if (f == -1) { f = titleAlt.indexOf("<IMG "); }
        if (f == -1) { f = titleAlt.indexOf("< IMG "); }
        if (f == -1) { f = titleAlt.indexOf("<  IMG "); }
        if (f != -1) {
            t = -1;
            for (i = f; i < titleAlt.length; i++) {
                if (titleAlt.substr(i, 1) == ">") { t = i; i = titleAlt.length; }
            }
            if (t != -1) {
                ttl = titleAlt;
                titleAlt = ttl.substring(0, f) + ttl.substring(t + 1, titleAlt.length);
            }
        }
    }

    это не что иное, как попытка очистить строку от html
    код как бы говорит нам - "регулярные выражения - зло!"
    цикл while - это просто шедевр зодчества эпохи просвещения. он ищет тег img и закрывающую скобку, и если они есть - присваивает результату подстроку от начала строки до первого вхождения img и от последнего вхождения угловой скобки

    найдено в серверном JavaScripte на одном из зарубежных сайтов

    mozg_raka, 01 Июля 2010

    Комментарии (25)
  6. Java / Говнокод #3597

    +67

    1. 1
    2. 2
    3. 3
    4. 4
    String a = 1234567890
    String b = 4
    def c = a.split(b)
    if c.size() > 1 //...

    Замена indexOf

    robin, 30 Июня 2010

    Комментарии (25)
  7. C++ / Говнокод #3562

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    re:    data=new unsigned char[sz+1];
    #ifdef SAFEMEM
        if(!data){ SAFEMEM Sleep(1); goto re;}
    #endif
    
    Источник: http://rsdn.ru/forum/cpp.applied/3852182.aspx

    alexander-berezin, 24 Июня 2010

    Комментарии (25)
  8. C# / Говнокод #3510

    +120

    1. 1
    string SomeString = Convert.ToString(Convert.ToInt16(((Slider)sender).Value));

    С сайта, посвященного Silverlight.

    Dmitriy, 18 Июня 2010

    Комментарии (25)
  9. PHP / Говнокод #3101

    +174

    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
    $monster=Base2('user', 'bot=1,bot_npc=0,map='.$userInfo[0]['user_map']);
        if ((count($monster)<1) or $monster==FALSE) {
            say('На этой терретории нет монстров');
        }
        else {
            asort($monster);
            if((rand(1,1)) == (rand(1,1)) && isset($monster[1])) {
                massMonsterBattle($monster, $userInfo);
            }else {
                //Если боты найдены - запускаем функцию начала боя с ботом
                singleFightWithTheBot($monster, $userInfo);
            }
        }

    Небольшой кусок кода из одной браузерной игрушки. Строка 7 порадовала весь наш отдел.

    WinnerWolf, 23 Апреля 2010

    Комментарии (25)
  10. SQL / Говнокод #3021

    −864.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    "SELECT null AS counter, t1.* FROM student.select_recomended_candidate_zo(" + ((DataBaseItem)lbSpeciality.SelectedItem).ItemId + ") t1 " +
                                                 "LEFT JOIN (SELECT t3.id, t3.specperiod_id FROM general.select_speciality_extended_alt(" + AppData.PointOfActualityDBFormat + ") t3) lj2 ON lj2.id = " + ((DataBaseItem)lbSpeciality.SelectedItem).ItemId + " " +
                                                 "LEFT JOIN (SELECT DISTINCT id, ex1_val, ex2_val, ex3_val FROM student.select_candidate_dean(" + ((DataBaseItem)lbSpeciality.SelectedItem).ItemId + ") t2) lj1 ON t1.id = lj1.id " +
                                                "WHERE (lj2.specperiod_id = 1 AND lj1.ex1_val IS NOT null AND lj1.ex2_val IS NOT null AND lj1.ex3_val IS NOT null) OR (lj2.specperiod_id > 1 AND lj1.ex1_val IS NOT null) IS true " +
                                                "ORDER BY has_benifit DESC, this_is_special DESC, sum DESC"

    des-1008d, 16 Апреля 2010

    Комментарии (25)
  11. C++ / Говнокод #2969

    +144.8

    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
    #include "stdafx.h"
    #include "windows.h"
    
    #define число int
    #define если if
    #define иначе else
    #define начало {
    #define конец }
    #define НОЛЬ NULL
    #define Сообщение MessageBoxA
    #define КНОПКА_ОК MB_OK
    #define возврат
    #define присвоить =
    #define равняется ==
    #define больше >
    #define ТочкаВхода _tmain
    #define Строка _TCHAR
    #define УКАЗАТЕЛЬ *
    #define КонецСтроки ;
    #define СлучайноеЧисло rand
    #define Посев srand
    #define ВзятьКоличествоТиков GetTickCount
    
    /****************************************************************************************************/
    /*																									*/
    /****************************************************************************************************/
    число ТочкаВхода(число КоличествоПараметров, Строка УКАЗАТЕЛЬ Параметры[])
    {
    	Посев(ВзятьКоличествоТиков());
    	число новое присвоить СлучайноеЧисло() КонецСтроки
    	если (новое больше 10000) начало
    		Сообщение(НОЛЬ, "Больше 10000", НОЛЬ, КНОПКА_ОК) КонецСтроки
    	конец иначе начало
    		Сообщение(НОЛЬ, "Меньше 10000", НОЛЬ, КНОПКА_ОК) КонецСтроки
    	конец
    
    	возврат 0 КонецСтроки
    }

    Ооо могучий C++

    Snake2101, 09 Апреля 2010

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