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

    Всего: 23

  2. C++ / Говнокод #24332

    0

    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
    // Tools.cpp
    
    class SleepQClass : public QThread
    {
    public:
    	static void Sleep( int ms )
    	{
    		msleep(ms); // static msleep is protected
    	}
    };
    
    void SleepQ( int ms )
    {
    	SleepQClass::Sleep(ms);
    }

    Паблик Морозов. Делаем глобальную функцию Sleep, чтобы можно было вызывать из любого места и потока. А что, реализация все равно тот же Sleep(DWORD dwMilliseconds) вызывает.

    Steve_Brown, 28 Мая 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ...
    # uncomment for a colored prompt, if the terminal has the capability; turned
    # off by default to not distract the user: the focus in a terminal window
    # should be on the output of commands, not on the prompt
    #force_color_prompt=yes
    ...

    .bashrc по умолчанию в Xubuntu.
    Мне казалось, что приглашение должно быть другого цвета, чтобы можно было быстро найти начало вывода программы:
    user@computer:~$ cat blah.txt
    <много текста>
    <много текста>
    <много текста>
    <много текста>
    <много текста>

    Но тут, понимаешь, решили, что нечего цвета разводить.

    Steve_Brown, 06 Мая 2018

    Комментарии (22)
  4. SQL / Говнокод #24157

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    SELECT clips.NAME, clips.DATE_OUT, clips.AUTHOR, clips.TOPIC, clips.ANNOT
    FROM clips
    WHERE (clips.NAME like ("*" + [Forms]![ПОИСК]!clips_NAME + "*") Or [Forms]![ПОИСК]!clips_NAME = "") And
    (clips.topic like ("*" + [Forms]![ПОИСК]!topics_NAME + "*") Or [Forms]![ПОИСК]!topics_NAME = "" Or  [Forms]![ПОИСК]!topics_NAME Is Null) And
    (clips.Author like ("*" + [Forms]![ПОИСК]!Authors_NAME + "*") Or [Forms]![ПОИСК]!Authors_NAME = "" Or  [Forms]![ПОИСК]!Authors_NAME Is Null) And
    (clips.ANNOT like ("*" + [Forms]![ПОИСК]!ANNOT + "*") Or [Forms]![ПОИСК]!ANNOT = ""Or [Forms]![ПОИСК]!ANNOT Is Null) And
    ((clips.Date_out <=  [Forms]![ПОИСК]!Date_max And clips.Date_out >=  [Forms]![ПОИСК]!Date_min) Or clips.Date_out Is Null);

    База данных на Access.
    Переделка другой БД, в которой зачем-то все авторы хранились в отдельной таблице, а в основной таблице - айдишники. Можно ведь просто прописать авторов в основную таблицу и не париться.

    Steve_Brown, 20 Апреля 2018

    Комментарии (7)
  5. JavaScript / Говнокод #23844

    0

    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
    You have three options in Javascript:
    
    //slice
    //syntax: string.slice(start [, stop])
    "Good news, everyone!".slice(5,9); // extracts 'news'
    
    //substring 
    //syntax: string.substring(start [, stop])
    "Good news, everyone!".substring(5,9); // extracts 'news'
    
    //substr
    //syntax: string.substr(start [, length])
    "Good news, everyone!".substr(5,4); // extracts 'news'

    Как извлечь подстроку в JavaScript.

    Steve_Brown, 01 Марта 2018

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

    +3

    1. 1
    https://www.google.ru/search?q=-fpermissive

    Почему я не могу узнать, что делает флаг -fpermissive????7777

    Steve_Brown, 23 Июня 2016

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

    +34

    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
    void
    XmlRpcDispatch::work(double timeout)
    {
        ...
        nEvents = select(maxFd+1, &inFd, &outFd, &excFd, NULL);
        ...
    }
    
    void XmlRpcDispatch::terminate() {
        ...
        XmlRpcSocket::connect(_cmd_sock, "127.0.0.1", port);
        ...
    }

    Не то чтобы говнокод, но забавный костыль. А как еще корректно выйти из select'a, ждущего входящих соединений? Создать соединение самому.

    Steve_Brown, 12 Октября 2012

    Комментарии (4)
  8. Куча / Говнокод #11688

    +142

    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
    program maze;{МАЗЬ}
    
    ...
    
    REPEAT UNTIL KEYPRESSED;
    
    ...
    
    case {коза} с of:
    ...
    
    
    /* FILE NAME   : IMAGE.C
     * PURPOSE     : Fig it knows.
    ...
    */
    
      BYTE *buf = 0L;
      if (!(buf += malloc(WWW * HHH)))
      {
        printf(" У меня склероз ...\n Press Ctrl-Alt-Del.");
        return;
      }
    
    for(int C=0;C<n;/*Borland*/C++)
    ...

    Петросянство в школокоде :-\

    (+= - чтобы избавиться от варнинга.)

    Steve_Brown, 31 Августа 2012

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

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private static object Clone(object obj)
    {
    	object newObj = Activator.CreateInstance(obj.GetType());
    	foreach (PropertyInfo pi in obj.GetType().GetProperties())
    		pi.SetValue(newObj, pi.GetValue(obj, null), null);
    	return newObj;
    }

    Потребовалось клонировать объект библиотечного класса со множеством свойств.

    Steve_Brown, 20 Июня 2012

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

    −33

    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
    CArray <CStyle *, CStyle *> m_aStyles;
    
    ...
    
    #define RETURN_TRUE  return *bOk = TRUE, S_OK
    #define RETURN_FALSE return *bOk = FALSE, S_FALSE
    #define RETURN_ERROR(E) \
    	return LastErrorCode = (ERROR_##E), *bOk = FALSE, S_FALSE
    
    ...
    
    // Создание нового стиля (пустого)
    STDMETHODIMP CEffector::AddStyle(VARIANT_BOOL *bOk)
    {
    	AFX_MANAGE_STATE(AfxGetStaticModuleState())
    	
    	CStyle *pNew = new CStyle;
    	if (pNew)
    	{
    		INT n = m_aStyles.GetSize();
    		m_aStyles.Add(pNew);
    		if (m_aStyles.GetSize() <= n)
    			RETURN_ERROR(MEMORY);
    	}
    	else
    		RETURN_ERROR(MEMORY);
    	RETURN_TRUE;
    }
    
    ...
    
    // Получение кода ошибки
    STDMETHODIMP CEffector::GetErrorCode(long *p)
    {
    	AFX_MANAGE_STATE(AfxGetStaticModuleState())
    
    	*p = LastErrorCode;
    	LastErrorCode = ERROR_NONE;
    	return S_OK;
    }

    Мой первый COM-объект.
    1) Если при успешном возвращении метод должен возвращать S_OK, то при ошибке... S_FALSE, наверное.
    2) Только в Дельфи почему-то возвращается не HRESULT, а параметр, помеченный [out]. Поэтому пришлось добавить аргумент *bOk.
    3) Интересно, что делает CArray, когда кончается память.

    Steve_Brown, 08 Июня 2012

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

    +123

    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
    static bool HasSp1()
    {
    	try
    	{
    		WaitHandle h = new ManualResetEvent(true);
    		h.WaitOne(0);
    		return true;
    	}
    	catch
    	{
    		return false;
    	}
    }

    Проверка наличия Service Pack 1 к .NET Framework 3.5 (в продолжение предыдущего ГК). Да, есть другие варианты, но этот не выглядит хуже.

    Steve_Brown, 26 Апреля 2012

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