1. JavaScript / Говнокод #25227

    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
    protected setElementModel(formModel: any): any {
                var self = this;
    
                var workModel = jQuery.extend(true, {}, formModel, {
                    onSave: function (e) { e.preventDefault(); self._onSave(e); },
                    onSaveExit: function (e) { e.preventDefault(); self._onSaveExit(e); },
                    onCancel: function (e) { e.preventDefault(); self._onCancel(e); },
                    }
                );
    
                return self.setModel(workModel);
            }
    
            protected setModel(formModel: any): any {
                return formModel;
            }

    typescript at its best

    phpMASTER666, 26 Декабря 2018

    Комментарии (2)
  2. Си / Говнокод #25226

    +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
    typedef void proc();
    
    proc nop{}
    void swap(int *a, int *b) {*a^=*b^=*a^=*b;}
    
    void sort_(int *arr, unsigned len)
    {
        (proc*[]){nop, swap}[*arr > arr[1]](arr, arr+1);
        (proc*[]){nop, sort_}[len > 2](arr+1, len-1);
    }
    void sort(int *arr, unsigned len)
    {
        (proc*[]){sort_, nop}[len <= 1](arr, len);
        (proc*[]){nop, sort}[len > 2](arr, len-1);
    }

    По поводу апнутого #19105.
    Ветвление легко имитируеься массивом функий, цикол —– рукурсией. Получилось даже короче и понятнее чем обычный код.

    Morgoth, 26 Декабря 2018

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

    +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
    template<class T, class U> bool convertStrToInt(const char* str, int base, T &res, T def, U (*strto)(const char *, char **, int ))
    {
        char *endptr = NULL;
        errno = 0;//man wants it
        if ( ! str || *str == '\0' )
        {
            res = def;
            return false;
        }
        U result =  strto(str, &endptr, base);
        if (errno == ERANGE || (*endptr != '\0') || ! *str) {
            std::stringstream errorStr;
            errorStr << "convertStrToInt failed ; string = '" << str << "' result ='" << result << "' endptr = '" << endptr << "' errno = '" << errno << "'";
            res = def;
            log_error("%s", errorStr.str().c_str());
            return false;
        }
        res = static_cast<T>(result);
        return true;
    }

    Преобразование строки в число

    patzantre, 26 Декабря 2018

    Комментарии (6)
  4. PHP / Говнокод #25224

    +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
    <?php
        function japanize($s) {
            $syl = array('н',
                'а','ка','са','та','на','ха','ма','я','ра','ва','га','дза','да','ба','па',
                'и','ки','си','ти','ни','хи','ми','и','ри',     'ги','дзи',     'би','пи',
                'у','ку','су','цу','ну','фу','му','ю','ру',     'гу','дзу',     'бу','пу',
                'э','кэ','сэ','тэ','нэ','хэ','мэ','е','рэ',     'гэ','дзэ','дэ','бэ','пэ',
                'о','ко','со','то','но','хо','мо','ё','ро','во','го','дзо','до','бо','по',
                    'кя','ся','тя','ня','хя','мя',    'ря',     'гя','дзя',     'бя','пя',
                    'кю','сю','тю','ню','хю','мю',    'рю',     'гю','дзю',     'бю','пю',
                    'кё','сё','тё','нё','хё','мё',    'рё',     'гё','дзё',     'бё','пё'
            );
            $modulo = count($syl);
            $parts = str_split(substr(sha1($s), 0, 16), 2);
            array_walk($parts, function(&$value, $key) use($syl, $modulo) {$value = $syl[intval($value, 16) % $modulo];});
            return implode('', $parts);
        }
         
        echo japanize('bormand') . PHP_EOL;

    Куд-кудах:
    https://ideone.com/l3WdCD

    nemyx, 26 Декабря 2018

    Комментарии (101)
  5. bash / Говнокод #25222

    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
    [ERROR] The compilation of ocaml-base-compiler failed at "/home/me/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime".
    
    #=== ERROR while compiling ocaml-base-compiler.4.02.3 =========================#
    # context     2.0.0 | linux/x86_64 |  | https://opam.ocaml.org#12c8601e
    # path        ~/.opam/ocaml-base-compiler.4.02.3/.opam-switch/build/ocaml-base-compiler.4.02.3
    # command     ~/.opam/opam-init/hooks/sandbox.sh build ./configure -prefix /home/me/.opam/ocaml-base-compiler.4.02.3 -with-debug-runtime
    # exit-code   2
    # env-file    /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.env
    # output-file /tmp/opam-me-3195/ocaml-base-compiler-3195-d6d332.out
    ### output ###
    # ./configure: line 195: rm: command not found
    # ./configure: line 196: touch: command not found
    # ../gnu/config.guess: line 35: sed: command not found
    # ../gnu/config.guess: line 1364: mkdir: command not found
    # ../gnu/config.guess: line 1364: mkdir: command not found
    # : cannot create a temporary directory in /tmp
    # [ERROR!] Cannot guess host type. You must specify one with the -host option.

    ^ ...И так там со всем.
    Кто там хотел попробовать "NixOS"? Могу поделиться впечатлениями: если вы надеятесь, что в этой оси можно будет пользоваться привычными "autotools", "opam" и "cabal", то фиг там. Из-за сломанного FHS ебаться с "Nix" придётся с первой минуты. cast @Роман

    CHayT, 25 Декабря 2018

    Комментарии (50)
  6. PHP / Говнокод #25221

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    
    class   {
    	function greet()
    	{
    		echo "PHP - govno.\n";
    	}
    }
    
    (new  )->greet();

    https://ideone.com/hzJGW8

    utikeev, 24 Декабря 2018

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

    +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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    public static string GetTextFromExcel97To2003Format(string filePath)
    {
        FileStream fileStream = null;
        POIFSFileSystem fileSystem = null;
        ExcelExtractor excelExtractor = null;
     
        try
        {
            using (fileStream = new FileStream(filePath, FileMode.Open))
            {
                fileSystem = new POIFSFileSystem(fileStream);
                excelExtractor = new ExcelExtractor(fileSystem);
                excelExtractor.IncludeBlankCells = false; // optional
                excelExtractor.IncludeCellComments = false; // optional
                excelExtractor.IncludeHeaderFooter = false; // optional
                excelExtractor.IncludeSheetNames = false; // optional
     
                return excelExtractor.Text;
            }
        }
        catch
        {
            // handle the exception
        }
        finally
        {
            if (excelExtractor != null)
            {
                excelExtractor.Close();
                excelExtractor = null;
            }
     
            fileSystem = null;
     
            if (fileStream != null)
            {
                fileStream.Close();
                fileStream.Dispose();
                fileStream = null;
            }
        }
     
        return string.Empty;
    }

    это пиздец, товарищи: https://www.kunal-chowdhury.com/2017/07/npoi-excel-97-2003
    эта хуита, на серьезных щах задвигается как документация к либе: https://github.com/tonyqus/npoi/wiki/Getting-Started-with-NPOI
    как, блять, так можно? юзинги? та пошли вы нахуй, я вам не доверяю. и вообще, присвоение нуля тоже хуйня. нельзя доверять никому. НИКОМУ!!
    Я не навижу индусов. Это пиздец. Это уже не первый раз, я натыкаюсь на статейку, которую, вот так читаешь, и понимаешь, что какая-то откровенная поибота и с мыслью "наверное опять эти ебаные индусы" скролишь вниз? чтобы увидеть рожу или хотябы имя автора. и там, СУКА, ИНДУС!!! они говорят, будь толерантным, а я им говорю, пошли НА ХУЙ!!!

    Lorip1971, 24 Декабря 2018

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    luabind::object FlowerEventModel::RewardInfo(int index) const {
    		luabind::object result = luabind::newtable(Core::luaState);
    		if (index < 0 && index >= (int)_presents.size()) {
    			return result;
    		}
    		return result;
    	}

    updart, 24 Декабря 2018

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

    0

    1. 1
    Разупоритесь-тред.

    Под какой файкой нынче сидит доктор[]инхо[/s]?

    ilya2184, 24 Декабря 2018

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

    +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
    const arr = [['govno',  'shit'], ['kod', 'code']]
    //we expect it to be {'govno': 'shit', 'kod' :  'code'}
    
    //unsupported(yet)
    Object.fromEntries = arr => 
        Object.assign({}, ...Array.from(arr, ([k, v]) => ({[k]: v}) ));
    const res1 = Object.fromEntries(arr)
    
    const res2 = arr.reduce((res, [key, value]) => Object.defineProperty(res, key, {'value': value, 'enumerable': true}), {})
    
    const res3 = {}
    arr.forEach(([key, value]) => res3[key] = value)

    А как превратить массив пар ключ-значение в ассоциативный на Вашем языке?

    bootcamp_dropout, 23 Декабря 2018

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