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

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

    +130

    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
    int days_in_month(int month, int year){
        if(month == 2){
            if(is_leap_year(year)) return 29;
            else return 28;
        }
        if(month < 8){
            if(month % 2 == 1) return 31;
            else return 30;
        }
        if(month > 7){
            if(month % 2 == 1) return 30;
            else return 31;
        }
        return 0;
    }

    Количество дней в месяце. Моя первая кучка. Не судите строго ^_^

    alobanov, 16 Марта 2015

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    _rollNumber = new Random().Next(1, _countNumbers); //Подряд два кубика кидал - одинаковое число!!!
    
    _rollNumber = new Random().Next(1, _countNumbers);
    Thread.Sleep(20); //Так норм.

    Из переписки. Бросание кубика для игры нарды.

    Dokodyaga, 27 Февраля 2015

    Комментарии (13)
  4. JavaScript / Говнокод #17699

    +161

    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
    /*ф-я для дебага*/
    function dump(obj) {
        var out = "";
        if(obj && typeof(obj) == "object"){
            for (var i in obj) {
                out += i + ": " + obj[i] + "\n";
            }
        } else {
            out = obj;
        }
        //PopUp(out);
        alert(out);
    
    }

    barantaran, 26 Февраля 2015

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

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    РасходныйКассовыйОрдер ГДЕ (НЕ РасходныйКассовыйОрдер.ВидОперации В
    					(ВЫБРАТЬ
    						ВидыОперацийРКО.Ссылка
    					ИЗ
    						Перечисление.ВидыОперацийРКО КАК ВидыОперацийРКО
    					ГДЕ
    						ВидыОперацийРКО.Ссылка = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику)))

    Обнаружил вот это чудо в ограничении почти всех ролей на ЧТЕНИЕ.
    Древняя УПП 1.2 сильно допиленная.
    Теперь сижу и горюю о том, сколько времени придётся потратить удаляя это из всех ролей...

    Goggy, 20 Февраля 2015

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

    +159

    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
    define([ "t5/core/dom" ], function(dom) {
    	return function() {
    		dom.scanner("select,input[type=text]", function(el) {
    			el.on("focus", function(e) {
    				var focusholder = this.findParent("form").find("input.focusholder");
    				if (focusholder.length)
    					focusholder[0].element.value = el.element.id;
    				el.element.select();
    			});
    		});
    		dom.scanner("select,input[type=text]", function(el) {
    			el.on("change", function(e) {
    				var form = this.findParent("form");
    				var submit = form.find("input[type=submit]");
    				if (submit.length)
    					submit[0].element.disabled = "disabled";
    				setTimeout(function() {form.trigger("submit");}, 1);
    			});
    		});
    		dom.scanner("input[type=checkbox],input[type=radio]", function(el) {
    			el.on("click", function(e) {
    				return this.findParent("form").trigger("submit");
    			});
    		});
    		dom.scanner("form", function(el) {
    			el.on("submit", function(e) {
    				var form=this;
    				setTimeout(function() {
    					var children = form.find("select,input[type=text],input[type=checkbox],input[type=radio]");
    					if (children.length)
    						for(var i=0;i<children.length;i++)
    							children[i].element.readOnly = "readOnly";
    					var submit = form.find("input[type=submit]");
    					if (submit.length)
    						submit[0].element.disabled = "disabled";
    				}, 1);
    			});
    		});
    		return dom;
    	};
    });

    код превращается, код превращается... в говно!

    Lure Of Chaos, 13 Февраля 2015

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

    +52

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // round up the blockSize to fit an integer number of pointers...
    m_blockSize = static_cast<QMPoolSize>(sizeof(QFreeBlock));//start with one
    uint_fast16_t nblocks = uf16_1; //# free blocks in a memory block
    while (m_blockSize < static_cast<QMPoolSize>(blockSize)) {
        m_blockSize += static_cast<QMPoolSize>(sizeof(QFreeBlock));
        ++nblocks;
    }

    в догонку к #17616. делим на 4 с округлением, с помощью цикла.

    P.S. касты и цикл само собой разумеется в ж не нужны:
    m_blockSize = (blockSize + sizeof(QFreeBlock)-1) & ~(sizeof(QFreeBlock)-1);
    nblocks = m_blockSize / sizeof(QFreeBlock);

    Dummy00001, 12 Февраля 2015

    Комментарии (13)
  8. PHP / Говнокод #17583

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    $var = null;
    
    // Не вызовет: "Notice: Undefined Index 0"
    var_dump($var[0][1][2][3]['route']); // NULL

    PHP не показывает Notic'ы если переменная или значение является NULL'ом при попытки получить доступ к элементам массива (заметил это когда функция могла возвратить null или массив). Нашел это интересным.

    volter9, 05 Февраля 2015

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

    +97

    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
    if (!File.Exists(comboBox1.Text + ".pck"))
                {
                    MessageBox.Show("Файла " + comboBox1.Text + ".pck не существует!", "Ошибка");
                }
                else
                {
                    StreamWriter writer = new StreamWriter("Extract.bat");
                    writer.WriteLine("sPCK.exe -pw -x " + comboBox1.Text + ".pck" + Environment.NewLine + "del Extract.bat");
                    writer.Close();
                    System.Diagnostics.Process.Start("Extract.bat");
                    Thread.Sleep(1000);
                    if (File.Exists(comboBox1.Text + ".pck.files"))
                    {
                        //Lol
                    }
                    else
                    {
                        if (checkBox1.Checked)
                        {
                            System.Diagnostics.Process.Start(comboBox1.Text + ".pck.files");
                        }
                        else
                        {
                            //LoL
                        }
                    }
                }

    Решил я значить узнать почему рядом с одной из программ создается .bat файл

    skydev, 30 Января 2015

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

    +50

    1. 1
    2. 2
    3. 3
    if ( !log.append(log_line) )
    
    log.append("Can't append to log");

    laMer007, 23 Января 2015

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

    +135

    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
    private static string GetMultipartFileContentType(string file)
    {
        var ext = file.Split('.').Last().ToLower();
    
        var types = new[]
        {
            new[] {"application/envoy","evy"},
            new[] {"application/fractals","fif"},
            new[] {"application/futuresplash","spl"},
            new[] {"application/hta","hta"},
            new[] {"application/internet-property-stream","acx"},
            new[] {"application/mac-binhex40","hqx"},
            new[] {"application/msword","doc"},
            new[] {"application/msword","dot"},
            new[] {"application/octet-stream","*"},
            new[] {"application/octet-stream","bin"},
            new[] {"application/octet-stream","class"},
            new[] {"application/octet-stream","dms"},
            new[] {"application/octet-stream","exe"},
            new[] {"application/octet-stream","lha"},
            new[] {"application/octet-stream","lzh"},
            new[] {"application/oda","oda"},
            // Многобукв...
            new[] {"x-world/x-vrml","xof"}
        };
    
        var toReturn = types.FirstOrDefault(t => t[1] == ext);
    
        return toReturn != null ? toReturn[0] : "application/octet-stream";
    }

    pushistayapodmyshka, 05 Января 2015

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