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

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $this->setLayout('empty');
            $this->setTemplate('step3');
    
            if ($this->getBrokerId() == 19 || $this->getBrokerId() == 29)
            {
                $this->setLayout('empty');
                $this->setTemplate('step3');
                $this->brokerId = $this->getBrokerId();
            }

    Нашел в чужом проекте. При этом $this->getBrokerId() не просто возвращает переменную, а производит сравнение строк (то есть вызывать этот метод 3 раза - явный перебор).

    blaster999, 15 Февраля 2011

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

    +115

    1. 1
    2. 2
    3. 3
    4. 4
    ViewData["PlanActivated"] = ((model.Count > 0) && (model.First().PlanActivate == true) 
                     && (model.First().PredictActivate == true) 
                     && (model.First().FactActivate == true)) 
                     ? true : false;

    Даже не стал разбираться, стер и переписал....

    fr0mrus, 15 Февраля 2011

    Комментарии (2)
  4. C++ / Говнокод #5666

    +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
    18. 18
    19. 19
    class cSG5DataException ... {
        cSG5DataException(CTstatus Status, CTsymbol Error,
                          CTsymbol SubError, std::string Description, ...)
       {
         /* форматирование сообщения */
       }
       /* виртуальный деструктор наличиствует */
    };
    
    class cExcKVSDuplicateKey : public cSG5DataException  {
     /* пусто */
    };
    
    /* код */
    
        throw (cExcKVSDuplicateKey*) new cSG5DataException( CT_statusFail,
                                                            CT_errorObjectExists,
                                                            CT_errorObjectExists,
         "cKVSet_STL_map::insert( CTint k, Value& v ), %d is already in the map",k);

    вот так хитро народ обходит проблему писания конструкторов. темплейт фактори функцию сделать не догадались. но С-style конверсию типов - пожалуйста. мне честно говоря и сложно то себе представить что это как-то работать может. смена типа поинтера то на тип объекта не влияет.

    Dummy00001, 14 Февраля 2011

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

    +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
    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
    <?php
    $_REQUEST['start'] = ($_REQUEST['start'] != '') ? $_REQUEST['start'] : 0;
    $_REQUEST['limit'] = ($_REQUEST['limit'] != '') ? $_REQUEST['limit'] : 19;
     
     
        $obj = new BASE();
     
        $obj_online     = new ONLINE();
        $obj_files      = new FILES();
        $obj_disk       = new DISK();
        $obj_group_disk = new GROUP_DISK();
        $obj_status_disk= new STATUS_DISK();
        $obj_type_disk  = new TYPE_DISK();
        $obj_type_file  = new TYPE_FILE();
        $obj_friends    = new FRIENDS();
        $obj_history    = new HISTORY();
        $obj_parsed     = new PARSED();
     
        if (isset($_REQUEST['action'])) {
                switch ($_REQUEST['query']) {
                    case 'select':{
                        switch ($_REQUEST['action']) {
                            case 'files':{
                                echo json_encode($obj_files->select($_REQUEST));
                            }break;
                            case 'disk':{
                                echo json_encode($obj_disk->select($_REQUEST));
                            }break;
                            case 'group_disk':{
                                echo json_encode($obj_group_disk->select($_REQUEST));
                            }break;
                            case 'status_disk':{
                                echo json_encode($obj_status_disk->select($_REQUEST));
                            }break;
                            case 'type_disk':{
                                echo json_encode($obj_type_disk->select($_REQUEST));
                            }break;
                            case 'type_file':{
                                echo json_encode($obj_type_file->select($_REQUEST));
                            }break;
                            case 'friends':{
                                echo json_encode($obj_friends->select($_REQUEST));
                            }break;
                            case 'history':{
                                echo json_encode($obj_history->select($_REQUEST));
                            }break;
                        }
                    } break;
    ...

    qbasic, 13 Февраля 2011

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

    +80

    1. 1
    boolean isTrue = false;

    kuku, 11 Февраля 2011

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

    +87

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    class PartStack {
        ...
        if (children[i] instanceof EditorSashContainer && !(this instanceof EditorStack)) {
            ...
        }
        ...
    }
    
    class EditorStack extends PartStack { ... }

    интересно смотрится сторка номер 3

    исходники Eclipse

    tir, 11 Февраля 2011

    Комментарии (2)
  8. ActionScript / Говнокод #5569

    −99

    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
    if (((vo.metricId == 3) && ((columnName == "A/c Balance CCY & Amount") || (columnName == "No. of Trades Impacted") || 
          (columnName == "Value of Trades") || (columnName == "Facility CCY & Amount") || (columnName == "MTM/ Net Position") || 
          (columnName == "Utilisation CCY & Amt"))) || 
          ((vo.metricId == 5) && (columnName == "Amount")) ||
          ((vo.metricId == 5) && (columnName == "Balance in Local")) ||
          ((vo.metricId == 5) && (columnName == "Balance in EUR")) ||
          ((vo.metricId == 5) && (columnName == "Sub Balance EUR")) ||
          ((vo.metricId == 5) && (columnName == "Unsub Balance EUR")) ||
          ((vo.metricId == 5) && (columnName == "PFE EUR")) ||
          ((vo.metricId == 5) && (columnName == "Provision EUR")) ||
          ((vo.metricId == 13) && ((columnName == "EUR Net Cost") || (columnName == "Nominal/ Position"))) ||
          ((vo.metricId == 14) && ((columnName == "CCY Value") || (columnName == "EUR Value"))) ||
          ((vo.metricId == 15) && ((columnName == "Value") || (columnName == "EUR Value"))) ||
          
          ((vo.metricId == 16) && ((columnName == "Value") || (columnName == "EUR Value"))) ||
          ((vo.metricId == 17) && ((columnName == "Value") || (columnName == "EUR Value"))) ||
          ((vo.metricId == 18) && ((columnName == "Value") || (columnName == "EUR Value"))) ||
          ((vo.metricId == 19) && ((columnName == "Value") || (columnName == "EUR Value"))) ||
          ((vo.metricId == 20) && ((columnName == "Value") || (columnName == "EUR Value"))) ||
          ((vo.metricId == 21) && ((columnName == "Value") || (columnName == "EUR Value"))) ||
          ((vo.metricId == 22) && ((columnName == "Value") || (columnName == "EUR Value")))

    Королевский IF!

    dimas_art, 07 Февраля 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    $arTime = localtime();
    //формируем ядро номера заказа, которое будем подцеплять к разным префиксам
    
    $orderNumberCore = str_pad($arTime[4]+1, 2, "0", STR_PAD_LEFT).str_pad($arTime[3], 2, "0", STR_PAD_LEFT).str_pad($arTime[2], 2, "0", STR_PAD_LEFT).str_pad($arTime[1], 2, "0", STR_PAD_LEFT).str_pad($arTime[0], 2, "0", STR_PAD_LEFT);

    Формируется номер заказав интернет-магазине из даты/времени. Но при этом не учитывается год.

    $orderNumberCore -- это дата в формате dmhis.

    kost, 07 Февраля 2011

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?if(count($errors)>0){?>
    <input type="text" name="engine" id="engine" class="adv_input" style="width:30px;" maxlength="4" value="<?=$engine?>">
    <?}else{?>
    <input type="text" name="engine" id="engine" class="adv_input" style="width:30px;" maxlength="4" value="<?=$adv['engine']?>">
    <?}?>

    DrFreez, 06 Февраля 2011

    Комментарии (2)
  11. JavaScript / Говнокод #5551

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function start(x, y, w, h) {
    document.getElementById('al').style.left=x;
    document.getElementById('al').style.top=y-Math.round(h/2);
    document.getElementById('al').style.width=w;
    document.getElementById('al').style.height=h;
    h=Math.round((w+160)*h/w);
    n=gdw()/100*75;
    if (w<n) setTimeout('start('+(x-80)+', '+y+', '+(w+160)+', '+h+')',1);
    }

    qbasic, 06 Февраля 2011

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