1. PHP / Говнокод #20362

    +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
    function implode() {
        $str = '';
        if(func_num_args()==1) {
            $array  = (is_array(func_get_arg(0))) ? func_get_arg(0) : false;
            $symbol = '';
        } elseif(func_num_args()==2) {
            $array = (is_array(func_get_arg(0))) ? func_get_arg(0): func_get_arg(1);
            $symbol = (!is_array(func_get_arg(0))) ? func_get_arg(0) : func_get_arg(1);
        } else {
            return false;
        }
        if($array===false) {
            return false;
        } else {
            foreach($array as $k=>$v) {
                if(is_array($v)) {
                    return false;
                } else {
                    $str = $str.$symbol.$v;
                }
            }
        return $str;
        }
    }

    Свой аналог функции implode. И такое бывает

    McLotos, 11 Июля 2016

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
      * @param int $day
      * @return bool
      */
    protected function isWorkingDay($day)
    {
        return $day % 8 <= 5;
    }

    Cпособ определить, является ли указанный день (передается номер дня в неделе от 1 до 7) рабочим. Чем автора не устроил return $day <= 5 - непонятно..

    feversocial, 11 Июля 2016

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

    +4

    1. 1
    2. 2
    auto highPriority = static_cast<bool>(features(w)[5]);
    // Тип features(w) - std::vector<bool>

    Скотт Майерс. Эффективный и современный С++.

    Antervis, 10 Июля 2016

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

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    Челлендж
    
    Написать на любом языке программирования код, который будет генерировать и выводить ASCII-гоатсе
    Использование константного гоатсе запрещено

    Тот, у кого получится самый короткий хуй код, получает очко 3_14darа в качестве приза

    cykablyad, 10 Июля 2016

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    [color=blue][u]https://otvet.imgsmail.ru/download/1bceee23eb24bf87101d513013c175aa_i-215.jpg[/u][/color]
    
    [color=blue][u]https://hsto.org/files/fb4/363/3e4/fb43633e4de04988b9f64eeb0c521f68.png[/u][/color]
    
    [color=blue][u]https://cdn.scratch.mit.edu/scratchr2/static/images/hp-video-screenshot.png[/u][/color]

    Можете бить ногами за передачу кода по ссылке, но на ГК картинки по значению не проходят.

    inkanus-gray, 09 Июля 2016

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

    +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
    enum SomeEnum
    {
        // ...
        SomeShit = 0xD6,
        // ...
    };
    
    // ....
    
        Byte opcode = ReadSomeShit<Byte>();  // функция читающая raw memory в нужном представлении
        // из raw memory считано значение эквивалентное 0xD6
        // ...
        if (opcode == SomeShit) // условие не выполнилось
        {
            // do stuff
        }
    
    // ...

    почему? а потому что кто додумался до
    typedef char Byte;
    который (хоть и не обязан быть, но) знаковый

    и даже сраного ворнинга не выдало
    причина правда обнаружилась достаточно быстро, ибо в дебагере в opcode красовалось -42 а в SomeShit 214

    https://ideone.com/02TpT7 на первый взгляд вызывает когнитивный диссонанс
    обожаю кресты

    meinf, 08 Июля 2016

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

    +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
    27. 27
    28. 28
    29. 29
    #include <iostream>
    #include <stdexcept>
    
    using namespace std;
    
    class Exception : std::runtime_error
    {
    public:
        Exception( std::string const & what ) : std::runtime_error(what)
        {
        }
    };
    
    int main( )
    {
        try
        {
            throw Exception("Exception");
        }
        catch ( std::exception const & e )
        {
            std::cerr << e.what() << std::endl;
        }
        catch(...)
        {
            std::cerr << "..." << std::endl;
        }
        return 0;
    }

    laMer007, 08 Июля 2016

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

    +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
    Также Дмитрий Кузнецов объяснил, каким образом будет осуществляться 
    передача ключей шифрования.
    
    «Предоставление ключей — это просто предоставление бумажного документа 
    с распечатанными столбиками цифр»,  — пояснил эксперт.
    
    Он добавил, что требования к средствам шифрования определяют то, как ключ 
    шифрования должен выглядеть в электронном виде, как его распечатать на 
    бумаге и как из распечатки перевести его обратно в электронную форму.
    
    По мнению эксперта, данное требование не вызовет проблем у операторов 
    связи, так как современный ключ шифрования без дополнительных служебных 
    полей имеет длину не более 8 килобайт, чаще всего используются ключи длиной 
    до 2 килобайт, что ничтожно мало по сравнению с размером самих сообщений.
    
    «Технических проблем с хранением и предоставлением ключей у операторов 
    не будет совершенно точно», — заключил специалист.

    оригинал - http://www.gazeta.ru/tech/2016/07/07/8376887/yarovaya.shtml

    Fike, 08 Июля 2016

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

    +7

    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
    string[] mOSB0, mOSB1, mOSB2, mOSB3, mOSB4, mOSB5, mOSB6, mOSB7, mOSB8, mOSB9, mOSB10; 
    string[] mOSB11, mOSB12, mOSB13, mOSB14, mOSB15, mOSB16, mOSB17, mOSB18, mOSB19, mOSB20, mOSB21; 
    string[] mOSB22, mOSB23, mOSB24, mOSB25, mOSB26, mOSB27, mOSB28, mOSB29, mOSB30, mOSB31, mOSB32; 
    string[] mOSB33, mOSB34, mOSB35, mOSB36, mOSB37, mOSB38, mOSB39, mOSB40, mOSB41, mOSB42, mOSB43; 
    string[] mOSB44, mOSB45, mOSB46, mOSB47, mOSB48, mOSB49, mOSB50, mOSB51, mOSB52, mOSB53, mOSB54; 
    string[] mOSB55, mOSB56, mOSB57, mOSB58, mOSB59, mOSB60, mOSB61, mOSB62, mOSB63, mOSB64, mOSB65; 
    string[] mOSB66, mOSB67, mOSB68, mOSB69, mOSB70, mOSB71, mOSB72, mOSB73, mOSB74, mOSB75, mOSB76; 
    string[] mOSB77, mOSB78, mOSB79, mOSB80, mOSB81, mOSB82, mOSB83, mOSB84, mOSB85, mOSB86, mOSB87; 
    string[] mOSB88, mOSB89, mOSB90, mOSB91, mOSB92, mOSB93, mOSB94, mOSB95, mOSB96, mOSB97, mOSB98; 
    string[] mOSB99, mOSB100, mOSB101, mOSB102, mOSB103, mOSB104, mOSB105, mOSB106, mOSB107, mOSB108; 
    string[] mOSB109, mOSB110, mOSB111, mOSB112, mOSB113, mOSB114, mOSB115, mOSB116, mOSB117, mOSB118; 
    string[] mOSB119, mOSB120, mOSB121, mOSB122, mOSB123, mOSB124, mOSB125, mOSB126, mOSB127, mOSB128; 
    string[] mOSB129, mOSB130, mOSB131, mOSB132, mOSB133, mOSB134, mOSB135, mOSB136, mOSB137, mOSB138; 
    string[] mOSB139, mOSB140, mOSB141, mOSB142, mOSB143, mOSB144, mOSB145, mOSB146, mOSB147, mOSB148; 
    string[] mOSB149, mOSB150, mOSB151, mOSB152, mOSB153, mOSB154, mOSB155, mOSB156, mOSB157, mOSB158; 
    string[] mOSB159, mOSB160, mOSB161, mOSB162, mOSB163, mOSB164, mOSB165, mOSB166, mOSB167, mOSB168; 
    string[] mOSB169, mOSB170, mOSB171, mOSB172, mOSB173, mOSB174, mOSB175, mOSB176, mOSB177, mOSB178; 
    string[] mOSB179, mOSB180, mOSB181, mOSB182, mOSB183, mOSB184, mOSB185, mOSB186, mOSB187, mOSB188; 
    string[] mOSB189, mOSB190, mOSB191, mOSB192, mOSB193, mOSB194, mOSB195, mOSB196, mOSB197, mOSB198; 
    string[] mOSB199, mOSB200, mOSB201, mOSB202, mOSB203, mOSB204, mOSB205, mOSB206, mOSB207, mOSB208; 
    string[] mOSB209, mOSB210, mOSB211, mOSB212, mOSB213, mOSB214, mOSB215, mOSB216, mOSB217, mOSB218; 
    string[] mOSB219, mOSB220, mOSB221, mOSB222, mOSB223, mOSB224, mOSB225, mOSB226, mOSB227, mOSB228; 
    string[] mOSB229, mOSB230, mOSB231, mOSB232, mOSB233, mOSB234, mOSB235, mOSB236, mOSB237, mOSB238; 
    string[] mOSB239, mOSB240, mOSB241, mOSB242, mOSB243, mOSB244, mOSB245, mOSB246, mOSB247, mOSB248; 
    string[] mOSB249, mOSB250, mOSB251, mOSB252, mOSB253; 
    string[] NORM, PEAK, NDST, NDSTR, NORMB, NDKOD, NDREZ; 
    string[] mTmcz, mKODZD, mKODRO, mKODNRO; 
    string csSosh = "Неверный КОД СОБЫТИЯ !!! - "; 
    string csSoshd = "Значение слова за пределами описанного";

    Массивы.
    Особенно хорош элегантный дефис, предлагающий продолжить описание ошибки.

    mrhotroad, 08 Июля 2016

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

    +5

    1. 1
    Ура, WCT

    https://habrahabr.ru/post/305190/

    cykablyad, 08 Июля 2016

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