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

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $str = $note['count'];
    
    $res = strpos($str, ',');
    
    if($res){echo substr($str,0,$res);}else{echo $str;}

    проверка на целое число

    sanya, 27 Мая 2011

    Комментарии (14)
  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 / Говнокод #6728

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (have_posts()) :
       while (have_posts()) :
    // ...
       endwhile;
    endif;

    Кодекс ВротПресса, тутор "The World's Simplest Index Page".

    telnet, 22 Мая 2011

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

    +163

    1. 1
    substr_count(strtolower(php_uname()),'windows') ? ';' : ':')

    NetCat, такой NetCat. О существовании PATH_SEPARATOR даже и не знали.

    miraage, 19 Мая 2011

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $arItems = $arResult["ITEMS"] ;
    
    for($j=0; $j<count($arItems); $j++)
    {
       $p = rand(0, count($arItems)-1);
       $buf = $arItems[$j];
       $arItems[$j] = $arItems[$p];
       $arItems[$p] = $buf;
    }
    
    $arResult["ITEMS"] = $arItems;

    Своя реализация PHP функции shuffle ))

    govnomes, 13 Мая 2011

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

    +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
    function shab()
    {
      global $title;                            
      global $description;
      global $keywords;
      global $content;                                         
      global $patch;
      global $page_names;
      global $pn;
      global $id;
      include_once $patch.'/head.php'; // почему-то вспомнился логотип башоргру cat /dev/ass > /dev/head
      echo $title.'</title>'."\n";
      echo '<meta name="description" content="'.$description.'">'."\n";
      echo '<meta name="keywords" content="'.$keywords.'">'."\n";
      include_once $patch.'/shapka.php'; // wtf!?
      echo $content."<br>\n";
      if(in_array($pn,$page_names))
      {                                   
          include $patch.'/form.php';
      }
      $ua=mysql_real_escape_string(trim($_SERVER['HTTP_USER_AGENT']));
      $ip=mysql_real_escape_string(trim($_SERVER['REMOTE_ADDR'])); // вебкил не пройдет
      mysql_query("update content set views=views+1 where id='$id'");
      mysql_query("insert into views_content set id='$id', ip='$ip', t=NOW() + INTERVAL 1 HOUR, d=NOW() + INTERVAL 1 HOUR, ua='$ua'");
      $q=mysql_query("select views,t,d from content where id='$id'");
      while($r=mysql_fetch_array($q))
      {
         echo '<br><span style="font-color:#808080; font-size:8pt; float:right;">Просмотров: '.$r['views'].'<br>
         '.$r['d'].'<font color="#ca3200"> / </font>'.$r['t']."<br>\n"; //d и t это дата и время кто не понял :D	
      } 
      echo '<a style="font-color:#ca3200; font-size:10pt;" href="index.php">все статьи</a></span>';
      include_once $patch.'/footer.php';
    }

    это вам не смарти, тут всё просто и понятно, а главное быстро. shab() и дело в шляпе.

    GoodTalkBot, 11 Мая 2011

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

    +163

    1. 1
    str_replace('-','/',date("Y-m-d",($from+(60*60*24*$i))))

    Как-то очень спешил и сам себе наговнокодил, ну куда деваться, со всеми бывает )

    stasyan, 08 Мая 2011

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

    +163

    1. 1
    2. 2
    3. 3
    function paging($pageNum,$rowsPerPage)
    {
    	GLOBAL $_GET, $_POST, $_SESSION;

    На всякий случай. Чтоб точно глобальные были. А то всякое бывает ...

    _tL, 06 Мая 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if(!$price){
        $price = 'ФОЛСУ РАВЕН';
    }
    ...
    {
    ...
        $_SESSION['BASKET']['ITEMS'][$id]['PRICE'] = $price['PRICE'];
    }

    egych, 04 Мая 2011

    Комментарии (12)
  11. PHP / Говнокод #6528

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
       * Строка парсится в аргументы функции
       * @param string
       * @return <type>
       */
      protected function _parse_func_arg ( $str ) {
        return func_get_args();
      }

    Поколупал netсat. Получил много эмоций... Спасибо.
    ( PS. По-моему, скоро netсat останется только в unix... )

    istem, 02 Мая 2011

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