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

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

    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
    double func_atof(char *p){
    
    	double	 integer = 0.0, div = 1.0 , fract = 0.0 , sign = 1.0;
            
            if(   *p == 45  ){
                      sign = -1.0, *p++ ; 
              }
    	
            while ( isdigit(*p)  ) { 
    	         
                integer = ( *p++ )  +  (10.0   *   integer)  -  48.0 ; 
    	}
    	
             if(*p == 46  ){
    
    	            (*p++ ) ;
    	
            while (  isdigit(*p) )  {
    		
                 fract = ( *p++ )  +  (10.0   *   fract)  -  48.0  ; 
    		
                 div *= 10;		
    
    		}
    
        }
      
    return    (integer  +   fract  / div )  * sign    ;
    }

    Наше всё Гайвер и Сорокин

    Oh-my-God-my-leg, 19 Октября 2020

    Комментарии (14)
  3. Go / Говнокод #26985

    0

    1. 1
    2. 2
    func verbMatches(p abac.Policy, a authorizer.Attributes) bool {
    	// TODO: match on verb

    серёга, задолбал, давай уже в прод катить, потом свою авторизацию сделаешь

    https://github.com/kubernetes/kubernetes/blob/master/pkg/auth/authorizer/abac/abac.go#L178

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

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

    +1

    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
    #include <vector>
    #include <cwchar>
    #include <algorithm>
    #include <iostream>
     
    int main()
    {
        std::vector<const wchar_t*> leaders{L"Ленин", L"Сталин", L"Маленков",
            L"Хрущёв", L"Брежнев", L"Андропов", L"Черненко", L"Горбачёв"};
     
        std::sort(leaders.begin(), leaders.end(), [](auto strA, auto strB) {
            return std::wcscmp(strA, strB) < 0;
        });
     
        std::setlocale(LC_ALL, "en_US.utf8");
        std::wcout.imbue(std::locale("en_US.utf8"));
        for (auto leader : leaders)
            std::wcout << leader << '\n';
    }

    Отсюда:
    https://en.cppreference.com/w/cpp/string/wide/wcscmp

    Naf-Naf, 11 Сентября 2020

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

    +1

    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
    void Argument::parseAsInt()
    {
        auto res = std::from_chars(data.data(), data.data() + data.size(), dataInt);
        if (res.ec == std::errc()) {
            setTypeFlag(ArgType::Int);
        }
    }
    
    void Argument::parseAsFloat()
    {
        // Rww: gcc still does not support float from_chars(), lol
        const char *begin = data.data();
        const char *end = begin + data.size();
        char *endPtr = nullptr;
    
        dataFloat = std::strtof(begin, &endPtr);
        if (endPtr == end || dataFloat != 0.0f) {
            setTypeFlag(ArgType::Float);
        } else {
            for (const char *it = endPtr; it < end; it++) {
                if (!std::isspace(*it)) {
                    return;
                }
            }
            setTypeFlag(ArgType::Float);
        }
    }

    Говнокодил тут недавно, долго думал, что считать числом (пет, ТЗ нет). В конце-концов решил считать всё, что можно распарсить.

    gost, 02 Сентября 2020

    Комментарии (14)
  6. Python / Говнокод #26847

    +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
    def __gc(self, state):
        userdata = self.lib.luaL_testudata(self.state, 1, b'python.object')
        if userdata:
            obj_ptr = (c.cast(userdata, c.POINTER(c.py_object))).contents
            if obj_ptr:
                c.pythonapi.Py_DecRef(obj_ptr)
        return 0
    
    def push_object(self, obj):
        userdata = self.lib.lua_newuserdata(self.state, c.sizeof(c.py_object))
        (c.cast(userdata, c.POINTER(c.py_object)))[0] = c.py_object()
    
        if self.lib.luaL_newmetatable(self.state, b'python.object'):
            self.gc_thunk = c.CFUNCTYPE(c.c_int, c.c_void_p)(self.__gc)
            self.lib.lua_pushcclosure(self.state, self.gc_thunk, 0)
            self.lib.lua_setfield(self.state, -2, b'__gc')
            self.lib.lua_pushstring(self.state, b'protected')
            self.lib.lua_setfield(self.state, -2, b'__metatable')
    
        self.lib.lua_setmetatable(self.state, -2)
    
        obj_ptr = c.py_object(obj)
        c.pythonapi.Py_IncRef(obj_ptr)
        (c.cast(userdata, c.POINTER(c.py_object)))[0] = obj_ptr

    Как скрестить ужа с ежом.

    bormand, 07 Августа 2020

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

    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
    гыы gop внатуре пиздишь, lt нах
    
    куку йопта law()  жЫ
        вилкойвглаз(gop типа нечотко)  жЫ
            ксива.малява("Я и правда язык") нах
            gop сука чотко нах
         есть  иливжопураз  жЫ
            gop сука чотко нах
            потрещим(semki чоблясука трулио)  жЫ
                lt сука ксива.вычислитьЛохаПоНомеру("list") нах
                ебало.шухер("Привет, йопта") нах
             есть
         есть
     есть

    YoptaScript

    Может баян, но по поиску не нашёл.

    OCETuHCKuu_nemyx, 05 Августа 2020

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

    +1

    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
    from tkinter import *
    from random import randint
    
    f = randint(2, 10)
    s = randint(2, 10)
    r = f * s
    def main_f():
        global f
        global s
        global r
        if r == int(inp.get()):
            ls.configure(text='да! Вы правы')
            f = randint(2, 10)
            s = randint(2, 10)
            r = f * s
            l.configure(text=f'сколько будет {f} * {s}?')
        else:
            ls.configure(text='нет, вы не правы')
            
            l.configure(text=f'сколько будет {f} * {s}?')
        
    
    win = Tk()
    win.title('math')
    
    l = Label(win, text=f'сколько будет {f} * {s}?')
    l.grid(column=0 , row=0)
    
    ls = Label(win, text=' ')
    ls.grid(column=0, row=1)
    
    inp = Entry(win, width=10)
    inp.grid(column=1, row=0)
    
    but = Button(win, text='проверить', command=main_f, fg='red')
    but.grid(column=2, row=0)
    
    win.mainloop()

    третьиклассник решил выучить таблицу умножения

    BananiumPower, 19 Мая 2020

    Комментарии (14)
  9. Python / Говнокод #26641

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    def f(m, n):
         if m == 0:
              return n + 1
         elif n == 0:
              return f(m - 1, 1)
         else:
              return f(m - 1, f(m, n - 1))

    vvudu, 08 Мая 2020

    Комментарии (14)
  10. JavaScript / Говнокод #26630

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <script src="3.js"></script>
    <script> alert("part2") </script>
    <script src="1.js"></script>
     в 3.js 
    'use strict'
    let age = Number(null)
    alert(age)

    почему-то результат разный = то part2 то 0, ничего не меняю, просто результат разный каждый раз

    AtivniyGOMIkk228, 02 Мая 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $dbSort = Array("SORT" => "ASC");
    $dbFilter = Array("IBLOCK_ID" => $arResult["IBLOCK_ID"], "ID" => $arResult["ID"]);
    $dbSelect = Array("UF_MODEL_HEADLINE", "UF_CALC_HEADLINE", "UF_H1", "UF_ADVANTAGE_TITLE");
    $db_list = CIBlockSection::GetList($dbSort, $dbFilter, false, $dbSelect);
    $result = $db_list->GetNext();
    $arResult["MODEL_HEADLINE"] = $result["UF_MODEL_HEADLINE"];
    $arResult["CALC_HEADLINE"] = $result["UF_CALC_HEADLINE"];
    $arResult["UF_H1"] = $result["UF_H1"];
    $arResult["UF_ADVANTAGE_TITLE"] = $result["UF_ADVANTAGE_TITLE"];

    phpBidlokoder2, 21 Февраля 2020

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