1. Java / Говнокод #14092

    +65

    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
    private HandlerRegistration historyChangeHandlerRegistration;
    
    @Override
    protected void onLoad() 
    {
           super.onLoad();
           if(historyChangeHandlerRegistration == null)
           {
                historyChangeHandlerRegistration = History.addValueChangeHandler(historyHandler);
           }
    }
    	
    @Override
    protected void onUnload()
    {
            super.onUnload();
    	    
            if (historyChangeHandlerRegistration != null)
            {
                historyChangeHandlerRegistration.removeHandler();
                historyChangeHandlerRegistration = null;
            }
    }
    
    private ValueChangeHandler<String> historyHandler = new ValueChangeHandler<String>()
    {
            @Override
            public void onValueChange(ValueChangeEvent<String> event)
            {
                if(historyChangeHandlerRegistration != null)
                {
                       //some work with history token
                }
                else
                {
                       // и сюда возможно попасть
                }
            }
    };

    GWT работа с site history

    Lennis, 12 Ноября 2013

    Комментарии (1)
  2. Си / Говнокод #14091

    +143

    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
    VariableValue *locVars;
    locVars = new VariableValue;
    locVars->variable = "r";
    locVars->value = mTaskParameters.rNodes[0]; //x_low;
    locVars->link = new VariableValue;
    locVars->link->variable = "theta";
    locVars->link->value = mTaskParameters.thetaNodes[0]; //y_low;
    locVars->link->link = new VariableValue;
    locVars->link->link->variable = "r_min";
    locVars->link->link->value = mTaskParameters.rNodes[0]; //this->x_low;
    locVars->link->link->link = new VariableValue;
    locVars->link->link->link->variable = "r_max";
    locVars->link->link->link->value = mTaskParameters.rNodes[mTaskParameters.rNodes.size()-1]; //this->x_high;
    locVars->link->link->link->link = NULL;

    Построение связного списка

    xredor, 12 Ноября 2013

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

    +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
    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
    // comparison arrays - quadruple nesting
        public function comparisonArrays(array $newOptions, array $prevOptions) {
            $diffOptions = array();
            foreach ($newOptions as $key=>$op) {
                if (isset($prevOptions[$key])) {
                    if (is_array($op)) {
                        foreach ($op as $kkk=>$ooo) {
                            if (isset($prevOptions[$key][$kkk])) {
                                if (is_array($ooo)) {
                                    foreach ($ooo as $kk=>$oo) {
                                        if (isset($prevOptions[$key][$kkk][$kk])) {
                                            if (is_array($oo)) {
                                                foreach ($oo as $k=>$o) {
                                                    if (isset($prevOptions[$key][$kkk][$kk][$k])) {
                                                        if ($prevOptions[$key][$kkk][$kk][$k]!=$o) $diffOptions[$key][$kkk][$kk][$k] = $o;
                                                    } else {
                                                        $diffOptions[$key][$kkk][$kk][$k] = $o;
                                                    }
                                                }
                                            } else {
                                                if ($prevOptions[$key][$kkk][$kk]!=$oo) $diffOptions[$key][$kkk][$kk] = $oo;
                                            }    
                                        } else {
                                            $diffOptions[$key][$kkk][$kk] = $oo;
                                        }
                                    }
                                } else {
                                    if ($prevOptions[$key][$kkk]!=$ooo) $diffOptions[$key][$kkk] = $ooo;
                                }
                            } else {
                                $diffOptions[$key][$kkk] = $ooo;
                            }
                        }
                    } else {
                        if ($prevOptions[$key]!=$op) $diffOptions[$key] = $op;
                    }
                } else {                    
                    $diffOptions[$key] = $op;
                }    
            }        
            return $diffOptions;        
        }

    crook, 11 Ноября 2013

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

    +131

    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
    private static int GetCarMaxRoomNumberNominal(string trainName, TrainCar car)
            {
                if (!String.IsNullOrEmpty(trainName))
                {
                    trainName = trainName.ToUpper();
                    if (trainName.StartsWith("САПСАН"))
                    {
                        return 66;
                    }
                    else if (trainName.StartsWith("ЛАСТОЧКА"))
                    {
                        return 103;
                    }
                    else if (trainName.StartsWith("АЛЛЕГРО"))
                    {
                        return 72;
                    }
                }
    
                switch (car.Category)
                {
                    case TrainCarCategory.ReservedSeat:
                    case TrainCarCategory.Common:
                        return 54;
                    case TrainCarCategory.Compartment:
                        return car.TwoStorey ? 112 : 36;
                    case TrainCarCategory.Lux:
                    case TrainCarCategory.Soft:
                        return car.TwoStorey ? 96 : 18;
                    case TrainCarCategory.Sedentary:
                        if (car.ServiceClass.Contains("1С"))
                        {
                            return 42;
                        }
                        else if (car.ServiceClass.Contains("2С"))
                        {
                            return 80;
                        }
                        if (car.ServiceClass.Contains("3С"))
                        {
                            return 117;
                        }
                        return 1;
                    default:
                        return 1;
                }
            }

    Расчет количества мест в вагоне

    Shadeglare, 10 Ноября 2013

    Комментарии (11)
  5. Си / Говнокод #14087

    +108

    1. 1
    assert(buf=malloc(BUF_SIZ));

    А в релизе мы сэкономим памяти

    crastinus, 10 Ноября 2013

    Комментарии (94)
  6. C# / Говнокод #14086

    +131

    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
    try
                {
                    m = (int)Convert.ToInt32(num[1]);
                }
                catch
                {
                    Console.WriteLine("Invalid parametr");
                    return true;
                }
    
    //...................................................
                  try
                        {
                            matrix[i, j] = (float)Convert.ToDouble(num[j]);
                            
                        }
                        catch
                        {
                            Console.WriteLine("Invalid matrix");
                            return false;
                        }

    Лаба одногруника...

    Michigan, 09 Ноября 2013

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

    +153

    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
    // Высота шрифта
    
    	$lenHdr = mb_strlen( strip_tags($header), 'UTF-8');
    
    	$maxDefaultStrLen = 38;	// максимальное количество символов при заданном размере шрифта
    	$maxFontSize = 22;		// заданный размер шрифта
    
    	$fontSize = $maxFontSize;
    
    	if ( $lenHdr > $maxDefaultStrLen ) {
    
    		$k = ceil(sqrt(($lenHdr - $maxDefaultStrLen) + 0.25) - 0.5) + 2 ;
    
    		$k = ($k<3)? 3:$k;
    
    		$fontSize = $maxFontSize - ($k - 2)*2;
    
    		$fontSize = ($fontSize<12)? 12:$fontSize;
    	}

    Вот. Откопалось

    bot, 08 Ноября 2013

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

    +18

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    std::string MetaInfo::SetField() {
      return m_value;
    }
    
    /* ... */
    
    std::string value = meta.SetValue();

    Йода-стайл. Переменную эту, хочешь установить ты.

    JeremyW, 08 Ноября 2013

    Комментарии (30)
  9. JavaScript / Говнокод #14083

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    this.ShowHideNoticeDate = function () {
            if ($("#associateNotice").is(':checked')) {
                jsNoticeField.setFieldValue(1);            
                $("#associateNotice").parent().parent().parent().parent().parent().parent().next().show();
                $("#associateNotice").parent().parent().parent().parent().parent().parent().next().children(1).children(0).children(0).children(0).children(0).children(0).children(1).val("");
                
            } else {
                jsNoticeField.setFieldValue(0);
                $("#associateNotice").parent().parent().parent().parent().parent().parent().next().hide();            
                $("#associateNotice").parent().parent().parent().parent().parent().parent().next().children(1).children(0).children(0).children(0).children(0).children(0).children(1).val("");            
            }
        };

    Голландский джаваскриптик)))

    RomashkaPro, 08 Ноября 2013

    Комментарии (4)
  10. Си / Говнокод #14082

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int t, max, x;
    scanf("%d", &x);
    for(t=x%10; max!=t; max=t);
    for(t=x%100/10; max<t; max=t);
    for(t=x%1000/100; max<t; max=t);
    for(t=x/1000; max<t; max=t);
    printf("Max: %d\n", max);

    Нахождение максимальной цифры в 4-значном числе. Одна из первых лаб по Си. Предполагалось использование if, но студенты не ищут лёгких путей. (Сдвиги они пока не учили, так что на вычисление цифры не обращайте внимания.)

    proDOOMman, 07 Ноября 2013

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