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

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

    +143

    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
    Монады как коллбеки
    
    На джаваскриптовой конференции, о которой я писал в прошлом посте, в процессе обсуждения 
    ФП неизбежно встала тема монад.
    
    Мне было интересно, насколько легко можно объяснить монады «на пальцах». Возможно, не в 
    той степени, чтобы человек смог сразу с ними программировать, но в той степени, чтобы понимать,
     что они делают и зачем нужны.
    
    И у меня возникла идея объяснить монады без типов. Мне кажется, главную сложность при изучении 
    монад вызывают именно типы (а точнее, конструкторы типов и классы конструкторов типов), т.к. многие 
    приходят в Haskell из языков с менее выразительной системой типов.
    
    В то же время, монады могут существовать и в динамических языках. А если из монад убрать типы, 
    то останется лишь то, как они работают во время исполнения — и там все довольно прозрачно.
    
    Вычислительная сущность монад — это continuation passing style, или коллбеки. Любая программа 
    на node.js написана в этом стиле.
    
    Левый аргумент >>= — вычисление, а правый — коллбек. Коллбек принимает результат вычисления 
    и совершает какие-то дальнейшие вычисления
    
    Эта аналогия особенно точно выполняется для монад Identity, IO, Maybe/Either. Каждая отдельная 
    монада определяет, к чему конкретно будет применен коллбек.
    
    Но посмотрим, например, на монаду [] (список). Если руководствоваться только лишь представлением 
    о монаде как о вызове коллбеков, то самый простой способ определить списочную монаду — это a >>= k = map k a (что неверно).
    
    Аналогия с коллбеками слишком «императивна» и не улавливает тонкость — структуру самой монады. 
    Чтобы эту структуру наглядно показать, как раз и нужны типы.

    kegdan, 19 Августа 2014

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

    +143

    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
    private void bSaveLog_Click(object sender, EventArgs e)
            {
                String x = Game.choosen().name;
                String y = "Data\\" + x + ".txt";
                FileInfo file = new FileInfo(y);           
                DirectoryInfo di = Directory.CreateDirectory("Data\\");
                if (file.Exists == false)
                {  
                        file.Create();
                        using (StreamWriter sw = file.AppendText())
                    {                    
                        sw.WriteLine("Hello");
                        sw.WriteLine("And");
                        sw.WriteLine("Welcome");
                        sw.Flush();
                        sw.Close();
                    }
                }            
            }

    Помогите советом мудрым, почему при записи в файл выдаёт "Процесс не может получить доступ к файлу..."? Как сделать правильно?

    312312, 10 Августа 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <?php
    	echo <<<HERE
    		Чё-т я не врубаюсь, каким образом на ЭТОМ сайте работает система оценивания. Если мой код минусуют, то это, значит, плохой говнокод получился ? Т.е. хороший на самом деле ? И наоборот: как плюсуют, значит хороший говнокод, т.е. риал извращённый ? Лол, параллельная вселенная с парадоксальными искажёнными правилами написания кода. Компиляторы пускают разноспектральные фонтаны жидкости и говнокод делают ПРОСТА АФИГЕССССНЫМ КОДАМ, а TRUE-код закидывает камнями.
    	HERE;
    ?>

    ЙАААААААААЗЬ!!!!! ДОБРО ПОЖАЛОВАТЬ В ПАРАЛЛЕЛЬНУЮ ВСЕЛЕННУЮ!!! УХАХАХАХХА!!!

    CodeStar, 15 Июля 2014

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

    +143

    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
    using System;
    using System.Text;
    public class Test
    {
    	public static void Main()
    	{
    		object obj = "Suck my balls";
    		string str1 = "Suck my balls";
    		string str2 = new StringBuilder().Append("Suck my ").Append("balls").ToString();
    		Console.WriteLine(obj==str1);//True
    		Console.WriteLine(str2==str1);//True
    		Console.WriteLine(obj==str2);//False
    	}
    }

    Нетранзитивный дотнет или головоломка на ночь

    kegdan, 27 Июня 2014

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

    +143

    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
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    return string.Format(templateStr, "",
                    _p1_Tb.Text,
                    _p2_Tb1.Text + ", " + _p2_Tb2.Text,
                    _p3_Tb.Text,
                    "",//_p4_Tb.Text,
                    _p5_Tb1.Text + " / " + _p5_Tb2.Text,
                    _p6_Tb.Text,
                   RblTxt(_p7_Rbl) + " " + _p7_Tb.Text,
                    b("Построен в ") + _p8_Tb1.Text + " году, в " + _p8_Tb2.Text + " году произведен "
                    + _p8_Tb3.Text + " ремонт. " + _p8_Tb4.Text + ", Количество корпусов " + _p8_Tb4.Text + ", Количество этажей в каждом корпусе " + _p8_Tb5.Text
                    + (_p8_Ch1.Checked ? (", " + _p8_Ch1.Text) : "")
                    + (_p8_Ch2.Checked ? (", " + _p8_Ch2.Text) : "")
                    + (_p8_Ch3.Checked ? (", " + _p8_Ch3.Text) : "") ,
                    FillTbl9() ,
                    b("Уровень средства размещения: ") + _p10_Tb.Text,
                    b("Объект находится рядом с ") + _p11_Tb.Text,
                    "принимаются  с " + _p12_Tb1.Text + " лет, " + _p12_Tb2.Text,
                    _p13_Tb.Text,
                    b("Период работы: ") + (_p14_Rb1.Checked ? ("С " + _p14_Tb1.Text + " По " + _p14_Tb2.Text) : "Круглогодично"),
                    "к " + _p15_Tb1.Text + " до " + _p15_Tb2.Text,
                    _p16_Tb.Text
                    + (_p16_Ch1.Checked ? ("<br/> От аэропорта " + _p16_Tb1.Text + " автобусом № " + _p16_Tb2.Text + " до остановки" + _p16_Tb3.Text) : "")
                    + (_p16_Ch2.Checked ? ("<br/> От жд вокзала " + _p16_Tb4.Text + " автобусом № " + _p16_Tb5.Text + " до остановки" + _p16_Tb6.Text) : "")
                    + (_p16_Ch3.Checked ? ("<br/> Другое " + _p16_Tb7.Text) : "")
                    ,
                    b("Типы номеров: ") + _p17_Tb.Text,
                    b("В номере: ")
                     ((_p23_Ch1.Checked ? (" " + _p23_Ch1.Text + ",") : "")
                    + (_p23_Ch2.Checked ? (" " + _p23_Ch2.Text + ",") : "")
                    + (_p23_Ch3.Checked ? (" " + _p23_Ch3.Text + ",") : "")
                    + (_p23_Ch4.Checked ? (" " + _p23_Ch4.Text + ",") : "")
                    + (_p23_Ch5.Checked ? (" " + _p23_Ch5.Text + ",") : "")
                    + (_p23_Ch6.Checked ? (" " + _p23_Ch6.Text + ",") : "")
                    + (_p23_Ch7.Checked ? (" " + _p23_Ch7.Text + ",") : "")
                    + (_p23_Ch8.Checked ? (" " + _p23_Ch8.Text + ",") : "")
                    + (_p23_Ch9.Checked ? (" " + _p23_Ch9.Text + ",") : "")
                    + (_p23_Ch10.Checked ? (" " + _p23_Ch10.Text + ",") : "")
                    + (_p23_Ch11.Checked ? (" " + _p23_Ch11.Text + ",") : "")
                    + (_p23_Ch12.Checked ? (" " + _p23_Ch12.Text + ",") : "")
                    + (_p23_Ch13.Checked ? (" " + _p23_Ch13.Text + ",") : "")
                    + (_p23_Ch14.Checked ? (" " + _p23_Ch14.Text + ",") : "")
                    + (_p23_Ch15.Checked ? (" " + _p23_Ch15.Text + ",") : "")
                    + (_p23_Ch16.Checked ? (" " + _p23_Ch16.Text + ",") : "")
                    + (_p23_Ch17.Checked ? (" " + _p23_Ch17.Text + ",") : "")
                    + (_p23_Ch18.Checked ? (" " + _p23_Ch18.Text + ",") : "")
                    + (_p23_Ch19.Checked ? (" " + _p23_Ch19.Text + ",") : "")
                    + (_p23_Ch20.Checked ? (" " + _p23_Ch20.Text + ",") : "")
                    + (_p23_Ch21.Checked ? (" " + _p23_Ch21.Text + ",") : "")
                    + (_p23_Ch22.Checked ? (" " + _p23_Ch22.Text + ",") : "")
                    + (_p23_Ch23.Checked ? (" " + _p23_Ch23.Text + ",") : "")
                    + (_p23_Ch24.Checked ? (" " + _p23_Ch24.Text + ",") : "")
                    + (_p23_Ch25.Checked ? (" " + _p23_Ch25.Text + ",") : "")
                    + (_p23_Ch26.Checked ? (" " + _p23_Ch26.Text + ",") : "")
                    + (_p23_Ch27.Checked ? (" " + _p23_Ch27.Text + ",") : "")
                    + (_p23_Ch28.Checked ? (" " + _p23_Ch28.Text + ",") : "")
                    + (_p23_Ch29.Checked ? (" " + _p23_Ch29.Text + ",") : "")
                    + (_p23_Ch20.Checked ? (" " + _p23_Ch30.Text + ",") : "")
                    + (_p23_Ch31.Checked ? (" " + _p23_Ch31.Text + ",") : "")
                    + (_p23_Ch32.Checked ? (" " + _p23_Ch32.Text + ",") : "")
                    + (_p23_Ch33.Checked ? (" " + _p23_Tb.Text) : "")).TrimEnd(new char[] { ' ', ',' }),
                    ((_p24_Ch1.Checked ? (" " + _p24_Ch1.Text + ",") : "")
                    + (_p24_Ch2.Checked ? (" " + _p24_Ch2.Text + ",") : "")
                    + (_p24_Ch3.Checked ? (" " + _p24_Tb.Text) : "")).TrimEnd(new char[] { ' ', ',' }),
                    FillTbl25(),
                    RblTxt(_p26_Rbl1) + " " + _p26_Tb.Text + ". " + RblTxt(_p26_Rbl2),
                    ((_p27_Ch1.Checked ? (" " + _p27_Ch1.Text + ",") : "")
                    + (_p27_Ch2.Checked ? (" " + _p27_Ch2.Text + ",") : "")
                    + (_p27_Ch3.Checked ? (" " + _p27_Ch3.Text + ",") : "")
                    + (_p27_Ch4.Checked ? (" " + _p27_Ch4.Text + ",") : "")
                    + (_p27_Ch5.Checked ? (" " + _p27_Ch5.Text + ",") : "")
                    + (_p27_Ch6.Checked ? (" " + _p27_Ch6.Text + ",") : "")
                    + (_p27_Ch7.Checked ? (" " + _p27_Tb.Text) : "")).TrimEnd(new char[] { ' ', ',' }),
                    _p28_Tb.Text,
                    b("Минимальная продолжительность заезда ") + _p29_Tb.Text + " дней",
                    "от " + _p30_Tb1.Text + " до " + _p30_Tb2.Text + " лет " + _p30_Tb3.Text,
                    ((_p31_Ch1.Checked ? (" " + _p31_Ch1.Text + " " + _p31_Tb1.Text) : "")
                    + "<br/>" + (_p31_Ch2.Checked ? (" " + _p31_Ch2.Text + " " + _p31_Tb2.Text) : "")
                    + "<br/>" + (_p31_Ch3.Checked ? (" " + _p31_Ch3.Text + " " + _p31_Tb3.Text) : "")

    Бэкенды крупнейшего российского туроператора. На отдел разработки уходит 1500000 рб/мес.

    tablecell, 23 Июня 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Говно в женской логике.  Ну и в Билайне.
    
    фото http://uploads.ru/AxqkZ.jpg
    
    подпись "Немного о рекурсии: завершен тренинг тренеров «Билайн». Я четвёртая слева" ..... 
    Внимание барабанная дробь..... продолжение предложения  "в синем"

    Vasiliy, 05 Июня 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public bool IsValidDirectoryPath(string directoryPath)
    {
        bool isValid = true;
        if (directoryPath == "") { isValid = false; }
        return isValid;
    }

    Nuff said.

    Dryxxxa, 04 Июня 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static string CapitalizeFirstLetter(this string s)
    {
        if (String.IsNullOrEmpty(s))
            throw new ArgumentException("Stirng is empty");
        return s.First().ToString().ToUpper() + String.Join("", s.Skip(1));
    }

    не ищем легких путей

    baks, 07 Мая 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (result == true) {
                  return true;
              }
              else { return false; }
              return false;

    не баян, а классика

    dotFive, 03 Мая 2014

    Комментарии (3)
  11. Куча / Говнокод #15855

    +143

    1. 1
    2. 2
    Небольшие программки :)
    Советую посмотреть и написать отзыв о любой из них.

    Скачать >> http://coun.at.ua/stuff/1-1-0-122

    Mobac, 28 Апреля 2014

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