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

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

    +59

    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
    54. 54
    //выдерает из текста все метки и вовзращает вввиде массива
    	private function returnLabels($html)
    	{
    		$labels = array();
    		$s = "" ;
    		$flag = false ;
    		for ($i=0;$i<strlen($html);$i++)
    		{
    			if (substr($html,$i,strlen("{module:")) == "{module:")
    			{
    				$flag = true ;
    			}
    
    			if (substr($html,$i,strlen("{language:")) == "{language:")
    			{
    				$flag = true ;
    			}
    
    			if (substr($html,$i,strlen("{image:")) == "{image:")
    			{
    				$flag = true ;
    			}
    
    			if (substr($html,$i,strlen("{file:")) == "{file:")
    			{
    				$flag = true ;
    			}
    
    			if (substr($html,$i,strlen("{js:")) == "{js:")
    			{
    				$flag = true ;
    			}
    
    			if (substr($html,$i,strlen("{css:")) == "{css:")
    			{
    				$flag = true ;
    			}			
    			
    			if (substr($html,$i,strlen("}")) == "}" && $flag == true)
    			{
    				$s .="}";
    				$labels [] = $s ;
    				$s = "" ;				
    				$flag = false ;
    			}
    			
    			if ($flag == true)
    			{
    				$s .= substr($html,$i,1);
    			}
    		}
    		
    		return $labels;
    	}

    О великий Никита Иванов!

    Devzirom, 08 Августа 2012

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

    +59

    1. 1
    if ( (is_file($filename) == true) == true)

    MaxSvargal, 04 Августа 2012

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

    +59

    1. 1
    2. 2
    3. 3
    while (($i <= $additional_limit) && ($i < $available_spaces)) {
        $i++;
       }

    в недрах плагина к wordpress. Прям по-другому минимум двух чисел не найти

    mkusher, 08 Июля 2012

    Комментарии (30)
  5. PHP / Говнокод #10954

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    <table>
    	<tr><th colspan="2">Если вы еще не зарегистрированы:</th></tr>
    	<tr><td colspan="2"><a href="/registration.php">Перейдите к регистрации на сайте</a></td></tr>
    </table>

    Глубокий смысл в наличии colspan="2" постичь никак не получается...

    domaster, 14 Июня 2012

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

    +59

    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
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    function get_datefrom ($eventid, $eventtype)
    {
    
        global $filter_date_kudy;
    
        $today = date("Ymd");
        if ($filter_date_kudy) $today = $filter_date_kudy;
        $todayweekday = date("w");
    
        $quGroup = mysql_query("SELECT datefrom, dateto, permanent, weekday1, weekday2, weekday3, weekday4, weekday5, weekday6, weekday7 from eventtime where eventid='$eventid' and eventtype='$eventtype' order by datefrom ASC");
    
        while ($flGroup = mysql_fetch_row($quGroup)) {
            $datefrom = ($flGroup[0]);
            $dateto = ($flGroup[1]);
            $permanent = ($flGroup[2]);
            $weekday1 = ($flGroup[3]);
            $weekday2 = ($flGroup[4]);
            $weekday3 = ($flGroup[5]);
            $weekday4 = ($flGroup[6]);
            $weekday5 = ($flGroup[7]);
            $weekday6 = ($flGroup[8]);
            $weekday7 = ($flGroup[9]);
    
            if ($datefrom && !$dateto && !$permanent && $datefrom >= $today) $date = $datefrom;
            if (!$datefrom && !$dateto && $permanent && !$weekday1 && !$weekday2 && !$weekday3 && !$weekday4 && !$weekday5 && !$weekday6 && !$weekday7) $date = $today;
            if ($datefrom && $dateto && $today >= $datefrom && $today <= $dateto) $date = $today;
            if (!$datefrom && !$dateto && $permanent && ($weekday1 || $weekday2 || $weekday3 || $weekday4 || $weekday5 || $weekday6 || $weekday7)) {
                $dt = "";
    
                if ($todayweekday == 0 && $weekday7) $dt = $today;
                if ($todayweekday == 1 && $weekday1) $dt = $today;
                if ($todayweekday == 2 && $weekday2) $dt = $today;
                if ($todayweekday == 3 && $weekday3) $dt = $today;
                if ($todayweekday == 4 && $weekday4) $dt = $today;
                if ($todayweekday == 5 && $weekday5) $dt = $today;
                if ($todayweekday == 6 && $weekday6) $dt = $today;
    
                $j = 0;
    
                while (!$dt && $j < 100) {
                    $j++;
                    $todayweekday2 = date("w", mktime(0, 0, 0, date("m"), date("d") + $j, date("Y")));
                    $today2 = date("Ymd", mktime(0, 0, 0, date("m"), date("d") + $j, date("Y")));
    
                    if ($todayweekday2 == 0 && $weekday7) $dt = $today2;
                    if ($todayweekday2 == 1 && $weekday1) $dt = $today2;
                    if ($todayweekday2 == 2 && $weekday2) $dt = $today2;
                    if ($todayweekday2 == 3 && $weekday3) $dt = $today2;
                    if ($todayweekday2 == 4 && $weekday4) $dt = $today2;
                    if ($todayweekday2 == 5 && $weekday5) $dt = $today2;
                    if ($todayweekday2 == 6 && $weekday6) $dt = $today2;
    
                }
                $date = $dt;
            }
            if ($date) break;
        }
        return $date;
    }

    нет слов

    shmaltorhbooks, 29 Мая 2012

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

    +59

    1. 1
    2. 2
    double _[1];
    void main(){[](){[](){[](){[](){0[_];}();}();}();}();};

    Осторожно! Новый стандарт превращает [этот язык, который нельзя называть по имени] в Perl при не верном использовании.

    C++0x, 21 Апреля 2010

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

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    QByteArray icqMessage::convertToByteArray(const quint8 &d)
    {
    	QByteArray packet;
    	packet[0] = d;
    	return packet;
    }

    Обнаружено в сорцах qutim'а. Про memcpy разработчики, видимо, не слышали, также, как и про метод append() в классе QByteArray.
    А еще не совсем понятно, зачем функции для конвертирования байт-эррэев в цифры и обратно объявлены и реализованы В КАЖДОМ файле, где используются. Про #include файла, в котором один раз можно реализовать все функции, разработчики, наверное, тоже слышали мельком.

    RankoR, 23 Февраля 2010

    Комментарии (14)
  9. C++ / Говнокод #2487

    +58.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    template <int n>
    struct fibonacci
    {
    	static int result()
    	{
    		return fibonacci<n-2>::result() + fibonacci<n-1>::result();
    	}
    };
    
    ........... и где-нибудь в коде:
    
    fibonacci<7>::result();

    Работает в msvc 2008 sp1 и более ранних. g++ и некоторые другие отваливаются с ругательствами на урезмерную рекурсию. Особо злостным маньякам можно рекомендовать понаслаждаться просмотром поля "memory usage" процесса cl.exe :)

    Также можно (но не нужно) устроить ddos подвесив халявный компилятор здесь:

    http://www.dinkumware.com/exam/default.aspx

    Гвозди Заржавелли, 26 Января 2010

    Комментарии (38)
  10. JavaScript / Говнокод #139

    +58.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <script>
    var InternetExplorer = navigator.appName.indexOf(«Microsoft») != -1;
    var ie = 0;
    if (InternetExplorer) { var ie=1 }
    </script>

    проверка ИЕ.

    guest, 12 Декабря 2008

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

    +58.4

    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
    // кусок из хидера
    
    #define b__bl {
    #define e__bl }
    
    #define b__st {
    #define e__st }
    
    #define b__un {
    #define e__un }
    ...
    #define end_if else ;
    
    // Один коротенький метод
    
    void  Sud::vosstkdr()
    b__fu  int i=0, imv=0, imasOut=0, lpovt;
      for(; i<isl; i++) b__fo
        if(imv < lmv)
          if(i==(Pmvosst=mvosst+imv)->imkdrish)
    	{  lpovt=Pmvosst->nvosst+1; imv++;}
          else lpovt=1;
        else lpovt=1;
        for(int k=0; k<lpovt; k++) b__fo
          masOut[imasOut] = mkdrish[i];
          if(mdm) if(++imasOut == 35) return; end_if
          else    if(++imasOut == 32) return; end_if
        e__fo
      e__fo
    e__fu

    Вот так у нас пишет один матёрый программист (юникс). Привёл для примера коротенький метод.
    Особое внимание заслуживает идентификатор mkdrish. Это какая-то комбинация слов "массив", "кадр", "short"

    Dimarius, 02 Сентября 2009

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