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

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

    +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
    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
    // https://github.com/seanbaxter/circle/blob/master/examples/README.md#tldr
    // ...
    // Circle's primary syntactic element is the @meta keyword, which runs the prefixed statement
    // during source translation (or during template instantiation in dependent contexts).
    
    // https://github.com/seanbaxter/circle/blob/master/examples/README.md#same-language-reflection
    // duff1.cxx
    
    void duff_copy1(char* dest, const char* source, size_t count) {
      const char* end = source + count;
      while(size_t count = end - source) {
        switch(count % 8) {
          case 0: *dest++ = *source++; // Fall-through to case 7
          case 7: *dest++ = *source++; // Fall-through to case 6...
          case 6: *dest++ = *source++;
          case 5: *dest++ = *source++;
          case 4: *dest++ = *source++;
          case 3: *dest++ = *source++;
          case 2: *dest++ = *source++;
          case 1: *dest++ = *source++;
          break;
        }
      }
    }
    
    // Reproduced above is a simplified version of Duff's device, an infamous memcpy function designed
    // to reduce the amount of branching in the operation. (The loop is optimally interleaved with the switch,
    // but I'm trying to illustrate some other points and don't want to add to the confusion.) Once we enter the
    // switch, perform an assignment and unconditionally progress to the next case statement. This algorithm
    // cries out for automation. The case statements have indices that run from 8 down to 1, modulo 8. Can we give it the Circle treatment?
    
    // duff2.cxx
    
    void duff_copy2(char* dest, const char* source, size_t count) {
      const char* end = source + count;
      while(size_t count = end - source) {
        switch(count % 8) {
          @meta for(int i = 8; i > 0; --i)
            case i % 8: *dest++ = *source++;
          break;
        }
      }

    Но гомоиконности таким подкостыливанием вы естественно не добавите!

    j123123, 14 Августа 2021

    Комментарии (21)
  3. JavaScript / Говнокод #27562

    +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
    type int = 1;
    
    function main() {
        let result: [value: int, done: boolean];
    
        let v: int | undefined;
        v = 1;
    
        result = [v, false];
    
        print(result[0], result[1]);
    
        assert(result[0] == 1);
        assert(result[1] == false);
    }

    опа. новый говнокодец подоспел. а кто знает какая проблема решалась в данном коде?

    ASD_77, 14 Августа 2021

    Комментарии (98)
  4. bash / Говнокод #27560

    +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
    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
    #!/bin/bash
    set -euo pipefail
    
    host() {
        echo "n${1}.local"
    }
    
    node() {
        echo "erl@$(host $1)"
    }
    
    build() {
        [ "${1}" -eq "1" ] && echo "build: ."
    }
    
    container() {
        cat <<EOF
      worker${1}:
        $(build $1)
        image: worker
        hostname: $(host $1)
        networks:
          backplane:
            aliases:
              - $(host $1)
    
        environment:
        - "NODE_NAME=$(node $1)"
        - ... прочая питушня
    EOF
    }
    
    main() {
        cat <<EOF
    version: '3.3'
    
    networks:
      backplane:
    
    services:
    $(node 1)
    
    $(node 2)
    
    ...
    EOF
    }
    
    main > docker-compose.yml
    docker-compose $@

    Как тебе такое, Helm?

    CHayT, 13 Августа 2021

    Комментарии (35)
  5. JavaScript / Говнокод #27558

    +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
    function foo(arg: any) {
        if (typeof arg === "string") {
            // We know this is a string now.
            print(arg);
        }
    }
    
    function main() {
        foo("Hello");
        foo(1);    
    
        print("done.");
    }

    наговнокодил

    ASD_77, 13 Августа 2021

    Комментарии (32)
  6. Куча / Говнокод #27522

    +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
    ...
    
           fun([N1, _N2], Trace) ->
                   ?assert(
                      ?strict_causality( #{?snk_kind := "Adding table to a shard", shard := _Shard, live_change := true}
                                       , #{?snk_kind := "Shard schema change"}
                                       , ?of_node(N1, Trace)
                                       )),
                   ?assert(
                      ?strict_causality( #{?snk_kind := "Shard schema change", shard := _Shard}
                                       , #{?snk_kind := "Restarting shard server", shard := _Shard}
                                       , ?of_node(N1, Trace)
                                       )),
                   %% Schema change must cause restart of the replica process and bootstrap:
                   {_, Rest} = ?split_trace_at(#{?snk_kind := "Shard schema change"}, Trace),
                   ?assert(
                      ?strict_causality( #{?snk_kind := "Restarting shard server", shard := _Shard}
                                       , #{?snk_kind := state_change, to := bootstrap}
                                       , Rest
                                       ))
           end).

    Немного galaxy-brain тестов

    CHayT, 17 Июля 2021

    Комментарии (19)
  7. JavaScript / Говнокод #27520

    +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
    30. 30
    31. 31
    32. 32
    abstract class Department {
        constructor(public name: string) {}
    
        printName(): void {
            print("Department name: " + this.name);
        }
    
        abstract printMeeting(): void; // must be implemented in derived classes
    }
    
    class AccountingDepartment extends Department {
        constructor() {
            super("Accounting and Auditing"); // constructors in derived classes must call super()
        }
    
        printMeeting(): void {
            print("The Accounting Department meets each Monday at 10am.");
        }
    
        generateReports(): void {
            print("Generating accounting reports...");
        }
    }
    
    function main() {
        let department: Department; // ok to create a reference to an abstract type
        department = new AccountingDepartment(); // ok to create and assign a non-abstract subclass
        department.printName();
        department.printMeeting();
        //department.generateReports(); // error: department is not of type AccountingDepartment, cannot access generateReports
        print("done.");
    }

    Алилуя - я вам абстракты принес :)

    ASD_77, 16 Июля 2021

    Комментарии (433)
  8. JavaScript / Говнокод #27513

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class Point {
      x = 0;
      y = 0;
    }
    
    function main() {
      const pt = new Point();
      // Prints 0, 0
      print(`${pt.x}, ${pt.y}`);
    }

    вот пока вы тут языки чесали - я наваял новую фичу. а кто догадается что особенного в этом классе? в чем фича?

    ASD_77, 12 Июля 2021

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

    +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
    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
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    using System;
    
    using System.Collections.Generic;
    
    using System.ComponentModel;
    
    using System.Data;
    
    using System.Drawing;
    
    using System.Linq;
    
    using System.Text;
    
    using System.Threading.Tasks;
    
    using System.Windows.Forms;
    
    namespace Biblo
    
    {
    
    public partial class Form1 : Form
    
    {
    
    public Form1()
    
    {
    
    InitializeComponent();
    
    }
    
    private void Form1_Load(object sender, EventArgs e)
    
    {
    
    }
    
    private void label1_Click(object sender, EventArgs e)
    
    {
    
    }
    
    double a = 0, b = 0, c = 0;
    
    double f, g;
    
    private void button1_Click(object sender, EventArgs e)
    
    {
    
    a = Convert.ToDouble(maskedTextBox1.Text);
    
    b = Convert.ToDouble(maskedTextBox2.Text);
    
    c = Convert.ToDouble(maskedTextBox3.Text);
    
    f = (a - b) * c / 100;
    
    if (comboBox1.Text.Contains("12 месяцев"))
    
    {
    
    g = Math.Round((a + f) / 12);
    
    }
    
    if (comboBox1.Text.Contains("36 месяцев"))
    
    {
    
    g = Math.Round((a + f) / 36);
    
    }
    
    if (comboBox1.Text.Contains("5 лет"))
    
    {
    
    g = Math.Round((a + f) / 60);
    
    }
    
    if (comboBox1.Text.Contains("10 лет"))
    
    {
    
    g = Math.Round((a + f) / 120);
    
    }
    
    if (comboBox1.Text.Contains("20 лет"))
    
    {
    
    g = Math.Round((a + f) / 240);

    govnomasha, 12 Июля 2021

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

    +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
    class Animal {
        name: string;
    
        constructor(name: string) {
            this.name = name;
        }
    
        speak() {
            print(`${this.name} makes a noise.`);
        }
    }
    
    class Dog extends Animal {
        constructor(name: string) {
            super(name); // call the super class constructor and pass in the name parameter
        }
    
        speak() {
            print(`${this.name} barks.`);
        }
    }
    
    function main() {
        let d = new Dog("Mitzie");
        d.speak(); // Mitzie barks.
        print(d.name);
    }

    Я вам принес нового говнокода для нового говнокомпилятора.... дамп в следующем посту

    ASD_77, 12 Июля 2021

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

    +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
    class c1 {
        pin: number;
    
        hello() {
    	this.#hello();
        }
    
        #hello() {
            print("Hello World", this.pin);
    	this.pin = 20;
        }
    }
    
    function main() {
        const c = new c1();
        c.pin = 10;
        c.hello();
        print("Hello World", c.pin);
        delete c;
    
        print("done.");
    }

    Хорошие говно-новости по говно-помпилятору. Начал имплементировать классы. (когда меня это зае...т я еще не знаю, но чую что скоро)

    ASD_77, 05 Июля 2021

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