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

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

    +994

    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
    template< typename _Data >
    void 
    Foo< _Data >::deduceNumberOfSignificant( _Data _field )
    {
    	switch( sizeof( _Data ) )
    	{
    	case sizeof( field32 ):
    		m_significantNumber = 7;
    		break;
    	case sizeof( field64 ):
    		m_significantNumber = 16;
    		break;
    	case sizeof( field128 ):
    		m_significantNumber = 34;
    		break;
    	default:
    		BOOST_ASSERT( "Improper field size" );
    	}
    }

    kiry, 30 Января 2012

    Комментарии (35)
  3. Pascal / Говнокод #9156

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // строка добавлена, чтобы сраный парсер говнокода не сжирал пробелы, этого в коде не было
                  end;
                end;
              end;
            end;
          end;
        end;

    Увидел в своём коде.
    Очень сложный алгоритм.

    TarasB, 18 Января 2012

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private static final BigDecimal $150 = BigDecimal.valueOf(150);
    private static final BigDecimal $500 = BigDecimal.valueOf(500);
    private static final BigDecimal $751 = BigDecimal.valueOf(751);
    
    // rule example
    all(
        paymentOfType(COMPREHENSIVE, greaterOrEqual($500)),
        noPaymentsButComprehensive
    ).mapTo(result(ACTIVITY_TYPE_ACC, COMPREHENSIVE_OVER_500))

    Код мой. Есть таблица правил (в Excel), по которой нужно классифицировать некие объекты. Все правила собраны в одном классе и представляют из себя конструкции наподобие той, что в топике.
    У меня с остальной частью команды возник конфликт по поводу наименования констант: все считают, что называть константы как $500 - сущее зло, а правильно называть MAX_AMOUNT_FOR_COMP_OVER_500. Я считаю, что $500 - это 500 долларов, блеать, а константа нужна только в одном месте и для читаемости. Мне по сути пофигу, как называется константа, интересно узнать ваше мнение.
    наболело

    roman-kashitsyn, 15 Декабря 2011

    Комментарии (35)
  5. Java / Говнокод #8721

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(false || DEBUG)
        {
          System.out.print("analysis: "+Integer.toBinaryString(analysis));
          System.out.println(", "+WalkerFactory.getAnalysisString(analysis));
        }

    Вычурный способ делать комментарии. Пример может и боян, но зато где: в исходниках API Android 2.2 Froyo.

    google-moogle, 04 Декабря 2011

    Комментарии (35)
  6. Си / Говнокод #8650

    +102

    1. 1
    #define HESHELME_BESHELME(x, y) (((x)>0)<<2 | ((y)>0)<<1 | ((x) > ((x)*(y) > 0 ? (y) : -(y))))

    двумерное "квантование" точки

    orion, 26 Ноября 2011

    Комментарии (35)
  7. Куча / Говнокод #8446

    +157

    1. 1
    ГК - Городская Канализация.

    ReallyBugMeNot2, 07 Ноября 2011

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

    +75

    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
    int i128 = 0, i256 =0, i384=0, i512=0, i640=0, i786=0, i896=0, i1024=0, i1152=0, i1280=0, i1408=0, i1536=0;
            for (int index: data) {
                if (index>max) max = index;
                if (min>index) min = index;
                if (0<=index & index<128) i128++;
                else if (128<=index & index<256) i256++;
                else if (256<=index & index<384) i384++;
                else if (384<=index & index<512) i512++;
                else if (512<=index & index<640) i640++;
                else if (640<=index & index<786) i786++;
                else if (786<=index & index<896) i896++;
                else if (896<=index & index<1024) i1024++;
                else if (1024<=index & index<1152) i1152++;
                else if (1152<=index & index<1280) i1280++;
                else if (1280<=index & index<1408) i1408++;
                else if (1408<=index & index<1536) i1536++;

    Считаем количество попаданий index в различные диапазоны значений.

    betastat, 01 Ноября 2011

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

    +183

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #include "stdafx.h" 
    #include "windows.h" 
    #Define igra
    int main1(int argc, CHAR* argv[]) 
    { 
    ... 
    }
    
    int main2(int argc, CHAR* argv[]) 
    { 
    ... 
    }

    http://www.gamedev.ru/code/forum/?id=19939

    - Нужен выигрыш от двух праоцессоров.
    на двухпроцессорных материнках я могу использовать два mainа чтобы один процессор выполнял
    один мейн а второй второй мейн?или как мне добиться выгоды от двухпроцессоров?
    - конечно, все так и делают. вот я видел в интернете исходники под какой-то 256-процессорный гигант, дык там было сразу 256 майнов.
    - Вообще, имхо, с не консольными приложениями может не работать (на XP точно не работало). Используй WinMain##N.
    - Проверь сначала один main0. Если работает, значит у тебя всего один процессор, либо второй сломан.

    CKrestKrestGovno, 21 Сентября 2011

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

    +79

    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
    ArrayList<String> Stack = new ArrayList<String>(14);
     ArrayList<String> ShuffledStack = new ArrayList<String>(14); 
     
    
    Stack.add(0,"a");
    Stack.add(1,"b");
    Stack.add(2,"c");
    Stack.add(3,"d");
    Stack.add(4,"e");
    Stack.add(5,"f"); 
    Stack.add(6,"e");
    Stack.add(7,"g");
    Stack.add(8,"h");
    Stack.add(9,"j");
    Stack.add(10,"k");
    Stack.add(11,"l");
    Stack.add(12,"o");
    Stack.add(13,"m"); 
     
    int size = Stack.size(); 
     
    while(ShuffledStack.size() != size)
             {
                 int r = (int)(Math.random()*(size));
                       if(!ShuffledStack.contains( Stack.get( r   )))
                           ShuffledStack.add( Stack.get( r   )); 
     
             }

    > Еще более гнетет то что великого старину Доналда Кнута я так и не прочел. Дело в том что там большинство алгоритмов на математических формулах и основаны(бля, меня колбасит от такого)))...

    Источник: http://pyha.ru/forum/topic/3831.0

    TarasB, 02 Августа 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($flag == false) {
    
    # на всякий случай
    if (false == true) exit;
    
    include «execute.php»;
    }

    На просторах инета... Какой ещё ВСЯКИЙ СЛУЧАЙ?

    qwert1x, 26 Июля 2011

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