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

    В номинации:
    За время:
  2. Куча / Говнокод #27112

    0

    1. 1
    bp kernelbase!VirtualAlloc " .printf \"\n\n\n\nBytes allocated: %lu (k)\n\n\n\",(@rdx/0n1024); k 8"

    Давайте течь от windbg

    MAPTbIwKA, 13 Ноября 2020

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

    +4

    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
    static int parse_num(const char *s, size_t *out) {
        if (s == NULL || *s == '\0')
            return -1;
    
        char *end = 0;
        errno = 0;
        uint64_t num = strtoull(s, &end, 0);
        if (errno != 0)
            return -1;
    
        if (*end != '\0')
            return -1;
    
        if (num > SIZE_MAX)
            return -1;
    
        *out = (size_t)num;
        return 0;
    }

    Какие же всё-таки удобные функции в стандартной няшколибе.

    bormand, 24 Сентября 2020

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

    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
    public static UUID fromString(String name) {
            String[] components = name.split("-");
            if (components.length != 5)
                throw new IllegalArgumentException("Invalid UUID string: "+name);
            for (int i=0; i<5; i++)
                components[i] = "0x"+components[i];
    
            long mostSigBits = Long.decode(components[0]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[1]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[2]).longValue();
    
            long leastSigBits = Long.decode(components[3]).longValue();
            leastSigBits <<= 48;
            leastSigBits |= Long.decode(components[4]).longValue();
    
            return new UUID(mostSigBits, leastSigBits);
        }

    без префикса "0x" написать рабочий код было невозможно, очевидно
    это хоть починили

    https://github.com/openjdk/jdk/blob/jdk8-b120/jdk/src/share/classes/java/util/UUID.java#L191-L209

    Fike, 22 Сентября 2020

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

    +6

    1. 1
    Сракер, не удаляй, пожалуйста, наши оффтопы.

    Pig, 17 Сентября 2020

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

    −1

    1. 1
    2. 2
    3. 3
    <script>
    if
    </script>

    Гавнокод

    LorenzoTwin, 24 Июля 2020

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

    +5

    1. 1
    https://github.com/ASDAlexander77/TypeScript2Cxx/blob/master/cpplib/core.h

    Нужна помощь смелых и умных людей, надо сделать review кода и посоветовать что там по стандартам улучшить... короче любая помощь welcome

    https://github.com/ASDAlexander77/TypeScript2Cxx/blob/master/cpplib/core.h

    ASD_77, 27 Мая 2020

    Комментарии (76)
  8. Kotlin / Говнокод #26408

    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
    data class User(
    
        @Expose
        @SerializedName("email")
        val email: String? = null,
    
        @Expose
        @SerializedName("username")
        val username: String? = null,
    
        @Expose
        @SerializedName("image")
        val image: String? = null
    ) {
        override fun toString(): String {
            return "User(email=$email, username=$username, image=$image)"
        }
    }

    JetBrains сделали прекрасный стандартный toString у дата классов, а они всё равно пишут свой туСтринг, который выдаёт результат в точности повторяющий стандартный.

    https://github.com/mitchtabian/MVIExample/blob/master/app/src/main/java/com/codingwithmitch/mviexample/model/User.kt

    Gorr, 03 Февраля 2020

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

    +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
    // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1371r1.pdf#section.4
    // Pattern Matching P1371R1
    
    // before
    
    auto&& [x, y] = p;
    if (x == 0 && y == 0) {
      std::cout << "on origin";
    } else if (x == 0) {
      std::cout << "on y-axis";
    } else if (y == 0) {
      std::cout << "on x-axis";
    } else {
      std::cout << x << ',' << y;
    }
    
    // after
    
    inspect (p) {
      [0, 0]: std::cout << "on origin";
      [0, y]: std::cout << "on y-axis";
      [x, 0]: std::cout << "on x-axis";
      [x, y]: std::cout << x << ',' << y;
    }

    Говностандартизаторы очередную хуйню изобретают. Нет чтоб нормальную гомоиконность сделать, чтоб через нее любую такую поебень синтезировать можно было, не изменяя говностандарт, не добавляя всяких новых statement. И почему они не хотят эту херню прикрутить тупо к switch? Что если у меня переменная называется inspect, мне ее что, переименовывать?

    Давайте пропосал напишем, чтоб для стейтментов отдельные неймспейсы были, и чтоб можно было свои самопальные стейтменты написать на каком-то отдельном говноязыке (шаблоны под эту хуйню, как я понял, не подходят)? Ну чтоб у всех окончательно сорвало крышу от обилия хуйни.

    j123123, 10 Января 2020

    Комментарии (76)
  10. Куча / Говнокод #25509

    −1

    1. 1
    Оупенспейса тред

    OCETuHCKuu_nemyx, 04 Апреля 2019

    Комментарии (76)
  11. JavaScript / Говнокод #25187

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    коммит на гитхабе:
    https://github.com/nativescript-vue/nativescript-vue.org/commit/f964457a5e4944864485c7194b0b5d850f8edb67
    русская документация:
    https://nativescript-vue.org/ru/docs/routing/manual-routing/#navigateto
    английская документация:
    https://nativescript-vue.org/en/docs/routing/manual-routing/#passing-props-to-the-modal
    
    угадайте, какой вариант передачи пропсов рабочий ?

    #SEO документация, JS.

    хуита, 13 Декабря 2018

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