1. Список говнокодов пользователя Dummy00001

    Всего: 94

  2. Си / Говнокод #10953

    +133

    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
    static inline int getKey(short int high, short int low)
    {
        return (((int)high)<<16)+(int)low;
    }
    
    static inline short getHigh(int pKey)
    {
        return (short)(pKey>>16);
    }
    
    static inline short getLow(int pKey)
    {
        return (short)(pKey&0x00000000FFFFFFFF);
    }

    вот так. getHigh() оставил для полноты.

    Dummy00001, 14 Июня 2012

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

    +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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    for (i = 0; i < pArgs.length; ++i) {
        if (!(pArgs[i].equalsIgnoreCase("-startable"))) {
            continue;
        }
        // ... обработка
        return true;
    }
    
    for (i = 0; i < pArgs.length; ++i) {
        if (!(pArgs[i].equalsIgnoreCase("-isRunning"))) {
            continue;
        }
        // ... обработка
        return true;
    }
    
    for (i = 0; i < pArgs.length; ++i) {
        if (!(pArgs[i].equalsIgnoreCase("-shutdown"))) {
            continue;
        }
        // ... обработка
        return true;
    }

    из main()а жаба аппликухи. и еще три таких цикла для еще трех параметров коммандной строки.

    любимая тонкость (которая сюда не попала): на ошибки коммандной строки бросается IndexOutOfBoundsException.

    ЗЫ а че в жабе нет штатного парсера коммандной строки? как-то загадочно. хотя если задуматся и вспомнить что писали жабу юниксоиды, которые сами тридцать лет толковго штатного парсера коммандной строки сделать не могли, то становится в какой-то степени даже логично.

    Dummy00001, 08 Марта 2012

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

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (p)
      free(p);
    
    /* ... */
    
    if (p)
      q = realloc(p, size);
    else
      q = malloc(size);

    немного классики.

    из сырцов pdftohtml.

    Dummy00001, 01 Марта 2012

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

    +1013

    1. 1
    if (!done && (done = true)) setlocale(LC_CTYPE, "");

    из свежих ворнингов компилера.

    Dummy00001, 14 Февраля 2012

    Комментарии (44)
  6. Куча / Говнокод #9405

    +131

    1. 1
    2. 2
    3. 3
    $(EXTRA_SRC) :
            cp -f $(PROJ_ROOT)/src/libA/com_print.c ./com_print.cpp
            cp -f $(PROJ_ROOT)/src/libA/com_misc.c ./com_misc.cpp

    из Makefile'а. /другой/ способ подключения нужной библиотеки к модулю.

    Dummy00001, 13 Февраля 2012

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

    +1014

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #ifndef _WIN32
        std::ostream  * dpOutputStream;
    #else
            ostream  * dpOutputStream;
    #endif

    делаем код портабельным.

    Dummy00001, 08 Февраля 2012

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

    +1003

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class fileOutStream : public ostream
    {
    public:
        /* ... */
        virtual inline int printf( const char * fpFormat, ... )
        {
            /* ... */
        }
        /* ... */
    }

    virtual inline метод.

    Dummy00001, 08 Февраля 2012

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

    +1004

    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
    class FuncFileOutStream: public fileOutStream
    {
    public:
    	/* ... */
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, bool b);
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, char c);
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, long l);
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, int i);
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, short s);
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, const char* pc);
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, float f);
    	friend FuncFileOutStream& operator<<(FuncFileOutStream& out, double d);
    	/* ... */
    };

    попытка перенаправления данных проходящих через ostream.

    только маленькая тонкость. fileOutStream уже перенакрывает ostream специально для этой цели - что бы собственный streambuf подставить, который данными проходящими через ostream и манипулирует используя два официальных виртуальных метода - вместо дюжины корявых операторов которые наверное и половины того что проект испульзует не покрывают. ну бляха муха поэтому же и сделали streambuf в стандарте, что бы вот таким маразмом не страдали...

    Dummy00001, 08 Февраля 2012

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

    +1007

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #if defined( HPUX_11_31 )
    #define BDYNAMIC_CAST( CLASS, OBJECT )  (( CLASS ) ( OBJECT ))
    #else
    #define BDYNAMIC_CAST( CLASS, OBJECT )  (dynamic_cast< CLASS >(( OBJECT )))
    #endif

    чуть кофе не похлебнулся.

    при более детальном рассмотрении кода из-за которого это сделали, выяснилось что: (А) в проекте нет ни одного места где нужен динамик каст и (Б) половина наших С++ профисианалов не умеют пользоватся конст кастом (который по коду там и был им нужен, вместе со статик кастом).

    Dummy00001, 08 Февраля 2012

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    struct tm lpstTimeRecordRet;
    struct tm lpstTimeRecord;
    
    lpstTimeRecordRet = *localtime_r ( &potiUnixTime, &lpstTimeRecord);

    *фейс палм*

    Dummy00001, 02 Февраля 2012

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