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

    В номинации:
    За время:
  2. Куча / Говнокод #6780

    +124

    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
    ##### curl #####
    
    GET /api/4dabd7b3816......97 HTTP/1.1
    User-Agent: curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
    Host: deepbit.net
    Accept: */*
    
    HTTP/1.1 302 Found
    Cache-Control: no-cache
    Content-length: 0
    Location: /api/4dabd7b3816......97
    Set-Cookie: *********pRd; path=/;
    
    Connection: close
    
    ##### curl #####
    
    ##### wget #####
    
    GET /api/4dabd7b3816......97 HTTP/1.0
    User-Agent: Wget/1.12 (linux-gnu)
    Accept: */*
    Host: deepbit.net
    Connection: Keep-Alive
    
    HTTP/1.1 200 OK
    Server: nginx/1.0.0
    Date: Mon, 30 May 2011 06:45:14 GMT
    Content-Type: application/json; charset=utf-8
    Connection: keep-alive
    Cache-Control: no-cache, must-revalidate
    Last-Modified: Mon, 30 May 2011 06:45:14 GMT
    Expires: Mon, 30 May 2011 06:46:14 GMT
    Content-Length: 413
    
    {data data data}
    ##### wget #####

    Lis, 30 Мая 2011

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

    +163

    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
    60. 60
    class AnotherDammLoggerClass {
    
    public:
    
      // ...
      
      static inline char *strtime()
      {
        // method is twice as fast as strftime)
        static const int ASCII_OFFSET=48;
        static char buffer[32]="";
        struct timeval tv;
        struct tm *lt;
    
        if ( 0 == gettimeofday(&tv,NULL) )
        {
          lt=localtime(&tv.tv_sec);
    
          int i=0;
    
          /* year */
          buffer[i++]=(lt->tm_year%100/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_year%10)+ASCII_OFFSET;
          /* month */
          buffer[i++]=((lt->tm_mon+1)/10)+ASCII_OFFSET;
          buffer[i++]=((lt->tm_mon+1)%10)+ASCII_OFFSET;
          /* day */
          buffer[i++]=(lt->tm_mday/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_mday%10)+ASCII_OFFSET;
          /* separator */
          buffer[i++]='.';
          /* hours */
          buffer[i++]=(lt->tm_hour/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_hour%10)+ASCII_OFFSET;
          /* minutes */
          buffer[i++]=(lt->tm_min/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_min%10)+ASCII_OFFSET;
          /* seconds */
          buffer[i++]=(lt->tm_sec/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_sec%10)+ASCII_OFFSET;
          /* separator */
          buffer[i++]='.';
          /* microseconds */
          buffer[i++]=(((tv.tv_usec)%1000000)/100000)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%100000)/10000)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%10000)/1000)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%1000)/100)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%100)/10)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%10))+ASCII_OFFSET;
          /* delimiter */
          buffer[i++]=(char)0;
        }
        else
        {
          strcpy(buffer,  "<no time>");
        }
        return buffer;
      }
      // ....
    }

    оптимизируем производительность. коммент "twice as fast as strftime" порадовал: вместо того что бы редундантные вызовы поубирать, давайте ручками перепишем. для пущей красоты сделано inline (и еще скапипазджено в три других места проекта).

    потому что в логгере strftime() наверное жутко тормозил - например по сравненю с записью сообщений на диск.......

    Dummy00001, 23 Мая 2011

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

    +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
    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
    // There is an error while creating thumbnail in m or in s or in l
    						if ($creatingSError || $creatingMError || $creatingLError) {
    							// if all or two errors appear, we only display the last error message	
    							// because the errors in this case is the same
    							if ($errorMsgS != '') {
    								$creatingError = $errorMsgS;
    							}
    							if ($errorMsgM != '') {
    								$creatingError = $errorMsgM;
    							}
    							if ($errorMsgL != '') {
    								$creatingError = $errorMsgL;
    							}							// because the errors in this case is the same
    						
    							$returnFrontMessage = $creatingError;
    						} else if ($errorMsgS == '' && $errorMsgM == '' && $errorMsgL == '') {
    							$returnFrontMessage = 'Success';
    						} else if ($errorMsgS == '' && $errorMsgM == '' && $errorMsgL == 'ThumbnailExists') {
    							$returnFrontMessage = 'Success';
    						} else if ($errorMsgS == '' && $errorMsgM == 'ThumbnailExists' && $errorMsgL == 'ThumbnailExists') {
    							$returnFrontMessage = 'Success';
    						} else if ($errorMsgS == '' && $errorMsgM == 'ThumbnailExists' && $errorMsgL == '') {
    							$returnFrontMessage = 'Success';
    						} else if ($errorMsgS == 'ThumbnailExists' && $errorMsgM == 'ThumbnailExists' && $errorMsgL == '') {
    							$returnFrontMessage = 'Success';
    						} else if ($errorMsgS == 'ThumbnailExists' && $errorMsgM == '' && $errorMsgL == '') {
    							$returnFrontMessage = 'Success';
    						} else if ($errorMsgS == 'ThumbnailExists' && $errorMsgM == '' && $errorMsgL == 'ThumbnailExists') {
    							$returnFrontMessage = 'Success';
    						}

    Модуль phocagallery для joomla. Кусок кода в функции генереции превьюшек 3х разных размеров.

    somebody, 19 Мая 2011

    Комментарии (8)
  5. Куча / Говнокод #6706

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    <h1 style="padding: 0" class="PageName">Информация для пассажира</h1>
    
    <div class="cont"><!-- p><b>Уважаемые пользователи!<br /></b>Извините, сервис продажи билетов временно приостановлен - на сервере проводятся регламентные работы. Попробуйте зайти позднее или приобрести билеты в кассах.</p>
    <hr / -->

    Продолжая тему РЖД

    Uchkuma, 19 Мая 2011

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

    +146

    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
    function hsl2rgb($h, $s, $v) {
        if($s == 0) { //если насыщенность цвета равно 0, то мы имеем дело с оттенком серого код которого и вычисляем умножая на 255
            $r = $g = $b = $v * 255;
        } else {
            $var_H = $h * 6;
            $var_i = floor( $var_H );
            $var_1 = $v * ( 1 - $s );
            $var_2 = $v * ( 1 - $s * ( $var_H - $var_i ) );
            $var_3 = $v * ( 1 - $s * (1 - ( $var_H - $var_i ) ) );
    
            if      ($var_i == 0) { $var_R = $v     ; $var_G = $var_3  ; $var_B = $var_1 ; }
            elseif  ($var_i == 1) { $var_R = $var_2 ; $var_G = $v      ; $var_B = $var_1 ; }
            elseif  ($var_i == 2) { $var_R = $var_1 ; $var_G = $v      ; $var_B = $var_3 ; }
            elseif  ($var_i == 3) { $var_R = $var_1 ; $var_G = $var_2  ; $var_B = $v     ; }
            elseif  ($var_i == 4) { $var_R = $var_3 ; $var_G = $var_1  ; $var_B = $v     ; }
            else                  { $var_R = $v     ; $var_G = $var_1  ; $var_B = $var_2 ; }
    
            $r = $var_R * 255;
            $g = $var_G * 255;
            $b = $var_B * 255;
        }
        return array($r, $g, $b);
    }

    Lure Of Chaos, 14 Мая 2011

    Комментарии (8)
  7. Java / Говнокод #6657

    +147

    1. 1
    2. 2
    3. 3
    static int getSign(final int num) {
        return (num < 0) ? -1 : (num > 0) ? 1 : 0;
      }

    лисапед, бо есть Math.signum()

    Lure Of Chaos, 14 Мая 2011

    Комментарии (8)
  8. PHP / Говнокод #6507

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($result === false) {
                $result = $translated;
            }
    
            if ($result === false){
                $result = $translated;
            }

    Magento. Так работают переводы.

    vsushkov, 28 Апреля 2011

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

    +163

    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
    if(empty($value)) {
         $empty_colls++;
         $value = $value = str_replace(" ", "", $value);
    } else {
         $haystack=mb_convert_encoding($format_value, 'UTF-8', mb_detect_encoding($format_value));
         $needle=mb_convert_encoding('грн', "windows-1251", "UTF-8");
         if (strpos($haystack, $needle)) $currency='грн';
              else {
              $needle=mb_convert_encoding('€', "windows-1251", "UTF-8");
              if (strpos($haystack, $needle)) $currency= '€';
                   else {
                   $needle=mb_convert_encoding('$USD', "windows-1251", "UTF-8");
                   if (strpos($haystack, $needle)) $currency='USD';
                   }
             }
         $value = mb_convert_encoding($value,"UTF-8", mb_detect_encoding($value));
         ...
    }

    Даже не знаю с чего больше смеяться/плакать (исходники в UTF-8) :-)

    Lowezar, 27 Апреля 2011

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (is_array($custom_data)) {
    	foreach ($custom_data as $key => $val) {
    		$session[$key] = $val;
    	}
    }

    хитрый план

    DrFreez, 23 Апреля 2011

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

    +120

    1. 1
    (class|struct|union)[\s\r\n(\w+)]*?(\w*)[\s\r\n]*?(:[\s\r\n(virtual)]*?\w+[\s\r\n]*?\w+(<\s*\w*\s*>)?([\s\r\n]*?,[\s\r\n(virtual)]*?\w+[\s\r\n]*?\w+(<\s*\w*\s*>)?)*?)?[\s\r\n]*?{[^{}]*(((?'open'{)[^{}]*)+((?'close-open'})[^{}]*)+)*(?(Open)(?!))[^{}]*}\s*?;

    Выделение из исходников именованных с++ классов. Глаза боятся, но вроде работает.

    m_gerz, 22 Апреля 2011

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