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

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

    −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 Speaker interface {
        SayHello()
    }
    
    type Human struct {
        Greeting string
    }
    
    func (Human) SayHello() {
        fmt.Println("Hello")
    }
    ...
    var s Speaker
    s = Human{Greeting: "Hello"}
    s.SayHello()

    Отсюда: https://habrahabr.ru/post/276981/

    Abbath, 10 Февраля 2016

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

    −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
    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
    var up = document.getElementById('upload'),
        text1 = document.getElementById('text1'),
        text2 = document.getElementById('text2'),
        sliderSize = document.getElementById('sliderSize'),
        sliderImage = document.getElementById('sliderImage'),
        file  = document.getElementById('image'),
        canvas = document.getElementById('canvas'),
        uploaded = document.getElementById('uploaded'),
        placeholder_image = document.getElementById('placeholder_image');
    
    up.addEventListener('click', uploadToImgur);
    
    text1.addEventListener('keyup', updateImage);
    text2.addEventListener('keyup', updateImage);
    sliderSize.addEventListener('change', updateImage);
    sliderImage.addEventListener('change', updateImage);
    file.addEventListener('change', changeAndUpdateImage);
    
    function readFile(fileInput, callback) {
        var f = fileInput.files[0];
        var reader = new FileReader();
        reader.onload = (function(theFile) {
            return function(e) {
                callback(e.target.result);
            };
        })(f);
        reader.readAsDataURL(f);
    }
    
    var curImg = null;
    
    placeholder_image.onload = function() {
        curImg = placeholder_image;
        updateImage();
    }
    
    function changeAndUpdateImage() {
        var img = new Image();
        readFile(file, function(dataURL) {
            img.onload = function() {
                curImg = img;
                sliderImage.value = Math.max(img.width, img.height);
                canvas.width = img.width;
                canvas.height = img.height;
                //canvas.style.height = img.height + 'px';
                //canvas.style.width = img.width + 'px';
                updateImage();
            }
            img.src = dataURL;
    
        });
           
    }
    
    function drawLines(ctx, lines, x, y, yStep) {
        lines = lines.split('\n');
        if (yStep < 0) lines = lines.reverse();
        lines.forEach(function(l, k) {
            ctx.strokeText(l, x, y + yStep * k);
            ctx.fillText(l,   x, y + yStep * k);
     
        });
    }
    
    
    
    function updateImage() {
        var LINE_HEIGHT = 1.1;
        var PARAGRAPH_HEIGHT = 1.5;
        
        var imgSizeLimit = parseFloat(sliderImage.value);
    
        var canvasSize = autoScale({
            w: curImg.width, 
            h: curImg.height
        }, imgSizeLimit);
    
        canvas.width = canvasSize.w;
        canvas.height = canvasSize.h;
    
        var ctx = canvas.getContext("2d");
        var txtSize = parseFloat(sliderSize.value) || 24;
    
        if (!curImg) return;
        
        ctx.strokeStyle = '#000000';
        ctx.fillStyle = '#ffffff';
        ctx.fillRect(0, 0, canvas.width, canvas.height);
        ctx.drawImage(curImg, 0, 0, canvas.width, canvas.height);
    
        ctx.font = txtSize + "px Impact";
        ctx.textAlign = 'center';
        ctx.textBaseline = 'middle';
        ctx.lineWidth = Math.round(Math.max(1, txtSize / 12));
    
        drawLines(ctx, text1.value, canvas.width / 2, 
                  txtSize * PARAGRAPH_HEIGHT / 2, LINE_HEIGHT * txtSize);
        drawLines(ctx, text2.value, canvas.width / 2, 
                  canvas.height - txtSize * PARAGRAPH_HEIGHT / 2, -1 * LINE_HEIGHT * txtSize );

    partybreaker, 07 Февраля 2016

    Комментарии (14)
  4. C++ / Говнокод #19239

    +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
    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
    const char _LETTERS[] =
    "000000000000000000000000000000000000000000000000000000000000000001111111111<...>";
    const char _DIGITS[] =
    "000000000000000000000000000000000000000000000000111111111100000000000000000<...>";
    const char _CONTROL_CHARS[] =
    "111111111111111111111111111111110000000000000000000000000000000000000000000<...>";
    const char _PUNCT_CHARS[] =
    "000000000000000000000000000000000111011111101111000000000011000110000000000<...>";
    const char _SEP_CHARS[] =
    "000000000000000000000000000000001000000000000000000000000000000000000000000<...>";
    const char _SYM_CHARS[] =
    "000000000000000000000000000000000000100000010000000000000000111000000000000<...>";
    
    #define min(i,l,I) (((i) < (l)) ? (((i) < (I)) ? (i) : (I)) : (((l) < (I)) ? (l) : (I)))
    
    bool CharIsLetter(wchar_t c) {
      return _LETTERS[c] != L'0';
    }
    bool CharIsDigit(wchar_t c) {
      return _DIGITS[c] != L'0';
    }
    bool CharIsControl(wchar_t c) {
      return _CONTROL_CHARS[c] != L'0';
    }
    bool CharIsPunctuation(wchar_t c) {
      return _PUNCT_CHARS[c] != L'0';
    }
    bool CharIsSeparator(wchar_t c) {
      return _SEP_CHARS[c] != L'0';
    }
    bool CharIsSymbol(wchar_t c) {
      return _SYM_CHARS[c] != L'0';
    }

    Лёшенька Кондратьев учится оптимизации

    groser, 25 Декабря 2015

    Комментарии (14)
  5. PHP / Говнокод #19211

    +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
    $product = ORM::factory('product');
    
    // $product-> ... = ...;
    
    $price = ORM::factory('price');
    $price->save();
    $product->price = $price->id;
    $product->save();
    $price->product = $product->id;
    
    // $price-> ... = ...;
    
    $price->save();

    Для гарантии

    kgm-rj, 22 Декабря 2015

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function validate($value) {
        try {
            $date = new \DateTime($value);
            return true;
        } catch (\Exception $e) {
            return false;
        }
    }

    DateTime Validator

    bykovski, 08 Декабря 2015

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

    +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
    <!DOCTYPE html>
    <!--Привет, друг!
    Привет, друг. 
    Чушь какая.-->
    <title>CMW | Авторизация</title>
    
    <!-- <Meta> -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- </Meta> -->
    
    <!-- <Stylesheet> -->
    <link rel="stylesheet" href="./Stylesheet/index.css">
    <!-- </Stylesheet> -->
    
    <!-- <div style="background-color: #2b333e">Для рекламы</div> -->
    
    <header class="z-depth-1">
        <!-- Фиксация навигации при прокрутке -->
        <div class="navbar-fixed">
            <nav>
                <div class="nav-wrapper">
                    <div class="container"><a href="#" data-activates="slide-out" class="button-collapse"><i class="mdi-navigation-menu"></i></a></div>
                    <a class="navbar-brand navigation__logo" href="main.html"></a>
                    <a  href="auth.html"><button type="submit" class="btn button__main navbar-right authorization">Авторизация</button></a>
                </div>
            </nav>
        </div>
    </header>

    Верстку от дизайнера привезли

    HiNeX, 25 Октября 2015

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

    +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
    import std.io;
    import std.string;
    import calendar.month;
    
    module calendar.date;
    
    namespace Chrono
    {
        export
        struct Date {
            Date(int, Month, int);
            int day() const
            {
                return d;
            }
            Month month() const
            {
                return m;
            }
            Int year() const
            {
                return y;
            }
        private:
            int d;
            Month m;
            int y;
        };
        export
        std::ostream &operator<<(std::ostream &, const Date &);
        export
        std::string to_string(const Date &);
    }

    По мотивам: http://habrahabr.ru/company/infopulse/blog/267781/
    зы. https://github.com/isocpp/CppCoreGuidelines/blob/master/talks/Large-Scale-C%2B%2B-With-Modules.pdf

    CriDos, 27 Сентября 2015

    Комментарии (14)
  9. JavaScript / Говнокод #18691

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var getVisualizerCount = function() {
        var count = 0;
        if (visualizerConfig && visualizerConfig.visualizers) {
            for (var i = 0; i < visualizerConfig.visualizers.length; i++) {
                count = count + 1;
            }
        }
        return count;
    };

    Достался проект от индусов. И такого коровьего д****а, хоть ж***й жуй. По мере нахождения запощу еще.

    uusb, 08 Сентября 2015

    Комментарии (14)
  10. ActionScript / Говнокод #18551

    +421

    1. 1
    2. 2
    3. 3
    public static function isObjectDisabled(object:Object):Boolean {
            return !object.enabled;
        }

    strax, 30 Июля 2015

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

    −175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Кавычка      = Символ(КодСимвола("""",1));
    	Если   ЗначениеЗаполнено(Подразделение)  Тогда
    		   ОбластьПоставщик.Параметры.ПредставлениеПоставщика  = "ОАО " + Кавычка+  "XXX"+Кавычка +" " + " (" + Подразделение + ")";
    	ИНаче
    		  ОбластьПоставщик.Параметры.ПредставлениеПоставщика = Организация.КраткоеНаименование;
    	КонецЕсли;

    Текстовые константы в коде и 1С - созданы друг для друга! Особенно доставляет нестандартное использование кавычек.

    a8899, 15 Июля 2015

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