1. C++ / Говнокод #24324

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    void Foo::singleShot()
    {
        QTime delay = QTime::currentTime().addMSecs(50);  
        while(QTime::currentTime() < delay ) {
           QCoreApplication::processEvents(QEventLoop::AllEvents, 5;
        }
        // do something
    }

    Вот такой бриллиант инженерной мысли, написанный с использованием фреймворка Qt.
    Товарисч ещё спрашивал, чем его реализация хуже чем QTimer::singleShot() :D

    Titus_PuIIo, 26 Мая 2018

    Комментарии (3)
  2. Python / Говнокод #24323

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Какой есть аналог класса для данных?
    
    class Record():
        pass
    
    r = Record()
    r. asd = 1
    
    Заебало класс объявлять, неужели для такого элементарного случая ничего не придумали?

    syoma, 25 Мая 2018

    Комментарии (107)
  3. Swift / Говнокод #24322

    −2

    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
    static func == (lhs: Card, rhs: Card) -> Bool {
           return (lhs.color == rhs.color &&
            lhs.number == rhs.number &&
            lhs.shading == rhs.shading &&
            lhs.symbol == rhs.symbol) ||
            (lhs.color == rhs.color &&
            lhs.number != rhs.number &&
            lhs.shading != rhs.shading &&
            lhs.symbol != rhs.symbol) ||
            (lhs.color != rhs.color &&
            lhs.number == rhs.number &&
            lhs.shading != rhs.shading &&
            lhs.symbol != rhs.symbol) ||
            (lhs.color != rhs.color &&
            lhs.number != rhs.number &&
            lhs.shading == rhs.shading &&
            lhs.symbol != rhs.symbol) ||
            (lhs.color != rhs.color &&
            lhs.number != rhs.number &&
            lhs.shading != rhs.shading &&
            lhs.symbol == rhs.symbol) ||
            (lhs.color != rhs.color &&
            lhs.number != rhs.number &&
            lhs.shading != rhs.shading &&
            lhs.symbol != rhs.symbol)
        }

    Пытаюсь реализовать правила игры в Set протоколом Equatable. Говнокод?

    govnokoder3948, 25 Мая 2018

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

    −3

    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
    from random import choice
     
    noun = ['пони', 'анус', 'синхрофазатрон', 'погромист', 'хуй', 'шланг', 'гцц', 'соснолька', 'хуита', 'говно', 'питушня', 'лалка', 'питон', 'енот', 'ватник', 'пидорашка', 'шиндос', 'линупс', 'жопа', 'дед мороз']
    verb = ['срёт', 'падает', 'бесит', 'пиздит', 'летает', 'сосёт', 'бегает']
    adj = ['сраный', 'ёбаный', 'розовый', 'коричневый', 'охуенный', 'пиздатый', 'тупой', 'ебучий', '']
     
    templates = [
        [adj, noun, verb],
        [adj, noun],
        [noun, ['говно']],
        [['У тебя'], adj, noun, verb],
        [['У тебя'], adj, noun],
        [['Какого хуя'], adj, noun, verb, ['\b?']],
        [['Почему'], noun, verb, ['\b?']],
        [['Что такое'], noun, ['\b?']],
        [adj, noun, verb, 'и', verb],
        [noun, verb, ['\b, a'], noun, verb],
    ]
     
    bububu = lambda: (lambda s: s[0].capitalize() + s[1:] + (choice('.!?') if s[-1] not in '.!?' else ''))(' '.join(i for i in map(choice, choice(templates)) if i))
     
     
    for _ in range(30):
        print(bububu())

    https://ideone.com/oOwyzI
    Просто от неча делать...

    666_N33D135, 24 Мая 2018

    Комментарии (28)
  5. Куча / Говнокод #24313

    0

    1. 1
    Серьёзный вопрос к местным игроделам:

    А есть ли какое-нибудь универсальное исследование, которое говорит, как должны быть устроены формулки в rpg/mmorpg?
    Типа что номер уровня должен зависеть как корень степени 2.8 от количества exp, hp -- линейно от str и int, а дамаг -- как среднее геометрическое дамага перса и дамага его оружия.
    Пробовал гуглить/читать геймдев -- нашёл только пространственные рассуждения "начни делать хоть как-то, а потом с помощью говна и палок отбалансируй".

    P.S. Да, я хочу написать игру и сидеть в неё играть.

    Bobik, 23 Мая 2018

    Комментарии (36)
  6. JavaScript / Говнокод #24308

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    list.forEach((element1) => {
        if (element1.parent_id == null){
            output.push(element1);
            list.forEach((element2) => {
                if (element2.parent_id == element1.id) {
                    output.push(element2);
                    list.forEach((element3) => {
                        if (element3.parent_id == element2.id) {
                            output.push(element3);
                            list.forEach((element4) => {
                                if (element4.parent_id == element3.id) {
                                    output.push(element4);
                                }
                            })
                        }
                    })
                }
            })
        }
    })

    Super forEach

    govnokoooder, 23 Мая 2018

    Комментарии (0)
  7. Python / Говнокод #24307

    0

    1. 1
    Прыщеговно

    Explanation: The issue stemmed from two issues one in normpath and the other in os.path.join. It turns out that when normpath (or abspath) gets an absolute path starting with a single slash or 3+ slashes, the result would have a single slash. However, if the input had exactly two leading slashes the output will retain them. This behavior conforms to an obscore passage in the POSIX standard (last paragraph):

    A pathname that begins with two successive slashes may be interpreted in an implementation-defined manner, although more than two leading slashes shall be treated as a single slash.

    normpath и abspath из os.path

    syoma, 23 Мая 2018

    Комментарии (79)
  8. Python / Говнокод #24306

    +1

    1. 1
    2. 2
    In [42]: os.path.join(r'c:\asd', r'c:\www')
    Out[42]: 'c:\\www'

    Нахуя???

    syoma, 23 Мая 2018

    Комментарии (118)
  9. Куча / Говнокод #24300

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    https://habr.com/post/358974/
    "Как обновление Rust 1.26 ускорило мой код в три с лишним раза"
    
    Яркий пример того, как человек не понимает как работает его код.
    И кое-то говорит, что Си - говно

    minusinho, 21 Мая 2018

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

    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
    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
    def sql_select_filter(sql, flt, order=None, limit=None, offset=None, group_by=None, lock=None, withSelectWrapper=True):
        if withSelectWrapper and group_by is None:
            if re.search(r'^\s*select\s+', sql, flags=re.IGNORECASE | re.MULTILINE):
                sql = "SELECT * FROM ( " + sql + " ) as z99 "
            else:
                sql = "SELECT * FROM " + sql + " "
        sql = sql.replace("%", '%%')
    
        where, vals = _make_where_conditions(flt)
    
        if where is not None:
            sql += " WHERE " + where
    
        if group_by is not None and len(group_by):
            sql += " GROUP BY " + ",".join(group_by)
    
        if order is not None and len(order):
            order_fields = []
            for field, direction in order.items():
                order_fields.append(field + " " + direction)
            sql += " ORDER BY " + ",".join(order_fields)
        if limit is not None:
            sql += " LIMIT %s"
            vals.append(limit)
        if offset is not None:
            sql += " OFFSET %s"
            vals.append(offset)
        if lock is not None:
            sql += " FOR " + lock
    
        return sql, vals

    Конструктор SQL запроосов, все очень секурно!

    agent-0007, 21 Мая 2018

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