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

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

    −94

    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
    #*тут определение факториала*
    
    fac_missing_end = factorial(100)/1000000000000000000000000
    
    #there are 134 digits when you take off the zeroes at the end
    
    sum_of_digits = 0
    
    recent_digit = fac_missing_end%10
    new_fac = fac_missing_end/10
    sum_of_digits = sum_of_digits + recent_digit
    recent_digit = new_fac%10
    new_fac = new_fac/10
    sum_of_digits = sum_of_digits + recent_digit
    recent_digit = new_fac%10
    new_fac = new_fac/10
    sum_of_digits = sum_of_digits + recent_digit
    recent_digit = new_fac%10
    new_fac = new_fac/10
    sum_of_digits = sum_of_digits + recent_digit
    
    # еще пару десятков строк такого говна
    
    print sum_of_digits

    http://projecteuler.net/problem=20
    http://projecteuler.net/thread=20;page=8


    >This is ridiculous, but it worked instantaneously
    Первый шаг к решению проблемы — признать что у тебя есть проблема.

    TheHamstertamer, 25 Апреля 2012

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

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(int j =0;j<d[i]/2;++j){
        char e[2] = {0,'\0'};
        const char* g = &e[0];
        e[0] = dict[i];
        s0.append(g);           
    }

    Нужен был const char*

    Abbath, 22 Апреля 2012

    Комментарии (4)
  4. Java / Говнокод #9966

    +63

    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
    public class ExtendFSDirectoryProvider {
        // skipped
        @Override
        public boolean equals(Object obj) {
            if (obj == this) {
                return true;
            }
            if (obj == null || !(obj instanceof FSDirectoryProvider)) {
                return false;
            }
    
            return indexName.equals(((ExtendFSDirectoryProvider) obj).indexName);
        }
    }

    Даже неважно, что автор делает лишнюю проверку на null - в instanceof указан другой класс! Копипаста детектед.

    victor-homyakov, 17 Апреля 2012

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

    +155

    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
    int main() {
        
        float a = 3.14;
        
        asm volatile (
                        "decl   %%esp"                      "\n\t"
                        "movb   $0, (%%esp)"                "\n\t"
                        "decl   %%esp"                      "\n\t"
                        "movb   $'\n', (%%esp)"             "\n\t"
                        "movl   $32, %%eax"                 "\n"
            "label0:"                                       "\n\t"
                        "shrl   %[A]"                       "\n\t"
                        "decl   %%esp"                      "\n\t"
                        "jc     label1"                     "\n\t"
                        "movb   $'0', (%%esp)"              "\n\t"
                        "jmp    label2"                     "\n"
            "label1:"                                       "\n\t"
                        "movb   $'1', (%%esp)"              "\n\t"
            "label2:"                                       "\n\t"
                        "decl   %%eax"                      "\n\t"
                        "cmpl   $0, %%eax"                  "\n\t"
                        "ja     label0"                     "\n\t"
                                                            "\n\t"
                        "pushl  %%esp"                      "\n\t"
                        "call   printf"                     "\n\t"
                                                            "\n\t"
                        "addl   $38, %%esp"                 "\n"
            
            : /* no output registers */
            : [A] "r" (a)
            : "%esp", "%eax"
        );
        
        return 0;
    }

    float > bin

    igoreknog, 16 Апреля 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!$_GET['nocache']) {
      $use_caching=0; // use cache?
     } else {
      $use_caching=0;
     }

    ReckO, 14 Апреля 2012

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    for(int i = 0; i < fCount; i++)
    {
           result += Integer.parseInt(String.valueOf((fPart.charAt(i))), 10)*Math.pow(base, fCount-(i+1));	    			
    }

    brainy, 14 Апреля 2012

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

    −118

    1. 1
    2. 2
    3. 3
    4. 4
    - (int) getRandomValue {
        int rnd = 1000;
        return rnd;
    }

    И это было уже в предрелизе..

    mazder, 09 Апреля 2012

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

    +150

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    (получаем каждый $array из $all_arr){
    for ($i=0; $i<=7; $i++){
    switch("value".$i){
    case "value0":
    echo $array['value0'];
    break;
    case "value5":
    echo $array['value5'];
    break;
    }
    }
    }

    Имеем массив $all_arr, где каждый элемент имеет значение:
    $array = array(
    "value0" => "sometext0",
    "value1" => "sometext1",
    "value2" => "sometext2",
    "value3" => "sometext3",
    "value4" => "sometext4",
    "value5" => "sometext5"
    );
    Необходимо, вывести заданные значения из каждого элемента $all_arr.

    Спустя пару недель, пересматривая код, сократил.

    truedizzy, 09 Апреля 2012

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

    +83

    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
    /**
     * intended to be used for enums implementation
     */
    public interface NullValueHolder<T> {
        T getNullValue();
    }
    
    
    // в тесте
    enum TestEnum implements NullValueHolder<TestEnum> {
    TEST;
        public TestEnum getNullValue() {
            return null;
        }
    }

    Видимо, часть метафабрики для создания метапрограмм
    Может, я чего-то в этой жизни не понимаю?

    roman-kashitsyn, 06 Апреля 2012

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

    +116

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    protected void chxPeriodCostDeviationGreater_CheckedChanged(object sender, EventArgs e)
            {
                foreach (Pair lstPair in lstPairs)
                {
                    if (lstPair.First.Equals(sender))
                    {
                        (lstPair.Second as TextBox).Enabled = (lstPair.First as CheckBox).Checked;
                        return;
                    }
                }
            }

    задаем видимость контролов :)

    _vinka, 05 Апреля 2012

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