1. PHP / Говнокод #2762

    +164.1

    1. 1
    $this->get('begin_at') > date('Y-m-32')

    Так я проверяю, что еще не начался месяц даты begin_at (в формате Y-m-d)

    HyperGeek, 11 Марта 2010

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

    +160.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
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    <?php
     $ok = true;
            $argsbackup = $args;
            for ($i = 0, $j = count($args); $i < $j; $i++) {
                $arg = array_shift($args);
                $type = array_shift($signature);
                switch ($type) {
                    case 'int':
                    case 'i4':
                        if (is_array($arg) || !is_int($arg)) {
                            $ok = false;
                        }
                        break;
                    case 'base64':
                    case 'string':
                        if (!is_string($arg)) {
                            $ok = false;
                        }
                        break;
                    case 'boolean':
                        if ($arg !== false && $arg !== true) {
                            $ok = false;
                        }
                        break;
                    case 'float':
                    case 'double':
                        if (!is_float($arg)) {
                            $ok = false;
                        }
                        break;
                    case 'date':
                    case 'dateTime.iso8601':
                        if (!is_a($arg, 'IXR_Date')) {
                            $ok = false;
                        }
                        break;
                }
                if (!$ok) {
                    return new IXR_Error(-32602, 'server error. invalid method parameters');
                }
            }

    предыстория. IRX_Library - XML-RPC server

    вот так оно проверяет параметры к функции. так жестко по массиву ходить не стоит... (((

    nicolay-punin, 11 Марта 2010

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

    +72.6

    1. 1
    2. 2
    3. 3
    4. 4
    Object[] o = new Object[16];
    for (int i = 0; i < 20; i++) {
        o[i] = "";
    }

    Korwin, 11 Марта 2010

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

    +170.9

    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
    <?php
     $mounths["January"]="01";
     $mounths["February"]="02";
     $mounths["March"]="03";
     $mounths["April"]="04";
     $mounths["May"]="05";
     $mounths["June"]="06";
     $mounths["July"]="07";
     $mounths["August"]="08";
     $mounths["September"]="09";
     $mounths["October"]=10;
     $mounths["November"]=11;
     $mounths["December"]=12;
    
     $m=date("F");
     $d=date("d");
     $Y=date("Y");
     $datetime=date("Y")."-".$mounths[$m]."-".date("d")." ".date("H").":".date("i").":".date("s");
     $date=date("Y")."-".$mounths[$m]."-".date("d");
    ?>

    Ээээ, чо? Нарыл в проекте. Отпаиваюсь чаем.

    azzz, 11 Марта 2010

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

    +161.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
    function formatDate($mysqlDate, $time = false) {
                    $date = "";
                    if (is_int($mysqlDate))
                    $stamp = $mysqlDate;
                    else
                    $stamp = strtotime($mysqlDate);
    
                    $date .= date("j", $stamp) . " ";
                    $date .= $this->months[date("n", $stamp) - 1] . " ";
                    $thisYear = date("Y", time());
                    $year = date("Y", $stamp);
    
                    if ($thisYear != $year)
                            $date .= ", " . date("Y", $stamp);
                    if ($time)
                            $date .= " " . date("H:i", $stamp);
    
                    if ($time) return date("d/m/Y H:i");
    					else return date("d/m/Y");
                    return $date;
    
            }

    интересен ход мыслей программиста=)

    nur, 11 Марта 2010

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

    +71

    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
    String ID = httpServletRequest.getParameter("id");
            ChannelData data = new ChannelData();
    
            int pointPos = ID.indexOf(';');
    
            while(pointPos >= 0) {
                String CurrentID = ID.substring(0, pointPos);
                data.setId(new Integer(CurrentID));
    
               ChannelData channel = (ChannelData) channelDao.Get(Integer.valueOf(CurrentID));
    
                channelService.delete(data);
                ID = ID.substring(pointPos + 1, ID.length());
                pointPos = ID.indexOf(';');
            }
            if(ID.length() > 0) {
                ChannelData channel = (ChannelData) channelDao.Get(Integer.valueOf(ID));
                data.setId(new Integer(ID));
                channelService.delete(data);
            }

    prop, 11 Марта 2010

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

    +159.7

    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
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    $q = "SELECT product_id FROM jos_vm_product WHERE product_parent_id=$prodid";
        $res = mysql_query($q);
        if(!$res) die('Error 3: ' . mysql_error());
        
        $td_str=' ';
        $pos_atrribs=array();
        $row=0;
        $sort_by=0;
        $subrows=0;
        $show_cells=0;
        
        while($pos=mysql_fetch_array($res))
        {
          $posid=$pos['product_id'];
          $q1 = "SELECT attribute_value,attribute_name  FROM jos_vm_product_attribute WHERE product_id=$posid ORDER BY attribute_name DESC";
          $res1 = mysql_query($q1);
          if(!$res1) die('Error 4: ' . mysql_error());
          
          $col=0;
          while($posattrib=mysql_fetch_array($res1))
          {
            if($posattrib['attribute_name']=='Код фитинга' || $posattrib['attribute_name']=='Код' || $posattrib['attribute_name']=='Кодфитинга' || $posattrib['attribute_name']=='Ordering code')
            {
              $sort_by=$posattrib['attribute_name'];
            }
            $pos_atrribs[$row][$posattrib['attribute_name']]=$posattrib['attribute_value'];
            $col++;
          }
          
          $q1 = "SELECT product_in_stock FROM jos_vm_product WHERE product_id=$posid";
          $res1 = mysql_query($q1);
          if(!$res1) die('Error 4: ' . mysql_error());
          $stock=mysql_fetch_array($res1);
          
          $pos_atrribs[$row]['Склад']=$stock['product_in_stock'];
          
          $q1 = "SELECT product_price FROM jos_vm_product_price WHERE product_id=$posid";
          $res1 = mysql_query($q1);
          if(!$res1) die('Error 4: ' . mysql_error());
          $price=mysql_fetch_array($res1);
          
          $pos_atrribs[$row]['Цена EUR']=$price['product_price'];
          $pos_atrribs[$row]['posid']=$posid;
          $row++;
        }
    
    function columnSort($sorted, $column) {
            for ($i=0; $i < sizeof($sorted)-1; $i++) 
            {
              for ($j=0; $j<sizeof($sorted)-1-$i; $j++)
                if ($sorted[$j][$column] > $sorted[$j+1][$column]) 
                {
                  $tmp = $sorted[$j];
                  $sorted[$j] = $sorted[$j+1];
                  $sorted[$j+1] = $tmp;
              }
            }
            return $sorted;
        }    
        $sorted = columnSort($pos_atrribs, $sort_by);
        unset($pos_atrribs);
        
        $new_attribs=array();
        $num=0;
        $matches=0;
        for ($i=0; $i < sizeof($sorted); $i++) 
        {
          if(substr($sorted[$i][$sort_by],-2)!='.1' && substr($sorted[$i][$sort_by],-2)!='.4')
          {
            $fs=(int)substr($sorted[$i][$sort_by],0,3);
            $fe=(int)substr($sorted[$i][$sort_by],-3);
            
            for ($j=0; $j<sizeof($sorted); $j++)
            { 
              $ss=(int)substr($sorted[$j][$sort_by],0,3);
              $se=(int)substr($sorted[$j][$sort_by],-3);
              
              if ($fe==$se && $fs<$ss) 
              {
                $new_attribs[$num]=array($sorted[$i],$sorted[$j]);
                $num++;
                $matches++;
              }
            }
          }
        }

    Джомло проект, в ходе запросов(11-46 строки) получает 250+ запросов к БД, и время выполнения только этого куска 40+ секунд. Далее сортировка тоже не слабая.

    kein, 11 Марта 2010

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

    −128.8

    1. 1
    2. 2
    #102 Проверка конфигурации PHP в консоли 
    $ php -r "phpinfo\(\);"

    php -i уже не в моде

    DrFreez, 11 Марта 2010

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

    +165

    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
    if ($check==0)
    {
      $query = "SELECT id, title, news, author, date FROM news ORDER BY id DESC LIMIT 10";
    }else{
      $query = "SELECT id, title, news, author, date FROM news ORDER BY id LIMIT 10";	
    }
    $result = mysql_query($query,$db);
    $_count=0;
    while($row=mysql_fetch_array($result))
    {  
    	$_count++;
    }
    
    $result = mysql_query($query,$db);
    while($row=mysql_fetch_array($result))
    {  
    ...

    Считаем кол-во строк в mysql-таблице

    qwase, 11 Марта 2010

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

    +78.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    //---Поправка на местное время--------------------------------------------------
    TDateTime F_IonTimeFiLa(TDateTime DTMoskau, T_RealXY LF_gr)
    {
        double LMos = 30.0;		//Moskau
        //TDateTime DT=DTMoskau+((LF_gr.x-LMos)/15.0-1.0)/24.0;     //-1 час декретный, а летнее или зимнее время!
        TDateTime DT = DTMoskau + (LF_gr.x - LMos) / 15.0 / 24.0;	//без -1 час декретный, а летнее или зимнее время!
        if (LF_gr.x > 180)
            DT -= 1.0;		//-1 сутки в западном полушарии
        return (DT);
    }

    Дас ист фантастищ!
    Код зависящий от погоды. Зимой и летом нужно перекомиливать.
    За пуп земли условно принят 30 меридиан условно поименованный Moskau (что какбе символизирует)
    Алгоритм построен на делении разности между заданной долготой и долготой "Москвы" на магическое 15... ну в общем вы сами всё видите.
    Приятного просмотра и не забудьте вытереть после себя...

    crox, 11 Марта 2010

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