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

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    foreach ($result->getDataCollection() as $data) {
        if (!$data->getStatus() === Status::PAID)
            continue;
    
        // ACTIONS
    }

    Зачем использовать !== если есть ===

    P/s
    Смотрим на if (

    genkaok, 21 Марта 2019

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

    0

    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
    protected function validateArguments(array $argv = null)
    {
            $argc = count($argv);
    
            if (1 == $argc && is_array($argv[0])) {
                return $argv[0];
            }
    
            if (2 == $argc) {
                if (is_array($argv[0]) && (is_numeric($argv[1]) || is_null($argv[1]) || is_string($argv[1]))) {
                    $argv[0][] = $argv[1];
    
                    return $argv[0];
                }
    
                if ((is_numeric($argv[0]) || is_string($argv[0])) && (is_numeric($argv[1]) || is_string($argv[1]))) {
                    return $argv;
                }
            }
    
            if (3 == $argc) {
                if ((is_numeric($argv[0]) || is_string($argv[0])) && (is_numeric($argv[1]) || is_string($argv[1])) && (is_numeric($argv[2]) || is_null($argv[2]) || is_string($argv[2]))) {
                    return $argv;
                }
            }
    
            array_walk($argv, function (&$value) {
                if (is_array($value)) {
                    $value = 'Array';
                } else {
                    $value = sprintf('"%s"', $value);
                }
            });
    
            throw new InvalidValueException(sprintf('Invalid parameters passed to %s::%s: %s', get_class($this), '__construct', implode(', ', $argv)));
    }

    pahhan, 20 Февраля 2019

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

    0

    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
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Calendar</title>
    </head>
    <body>
    
    <style>
    .month, .month.vert .week, .day { display:inline-block; }
    .month.vert .day { display:block; }
    .day { border:1px solid #ccc; width:30px; line-height:30px; text-align:center; }
    </style>
    
    <div class="month"></div>
    
    <script>
    var calendar = {
        update: function (year, month) {
            this.days.length = 7;
            var stepDay = new Date(year, month, 1);
            stepDay.setDate(1 - stepDay.getDay());
            var lastDay = new Date(year, month + 1, 0);
            lastDay.setDate(lastDay.getDate() + 6 - lastDay.getDay());
            while (stepDay <= lastDay) {
                this.days.push(stepDay.getDate());
                stepDay.setHours(24);
            }
        },
        render: function () {
            var html = '';
            for (var i = 0, j = 0; i < this.days.length; j = ++i % 7) {
                if (j == 0) html += '<div class="week">';
                html += '<div class="day">' +  this.days[i] + '</div>';
                if (j == 6) html += '</div>';
            }
            this.element.innerHTML = html;
        },
        toggle: function () {
            this.element.classList.toggle('vert');
        }
    };
    var today =  new Date, thisYear = today.getFullYear(), thisMonth = today.getMonth();
    calendar.days = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
    calendar.element = document.querySelector('.month');
    calendar.element.addEventListener('click', function () { calendar.toggle() });
    calendar.update(thisYear, thisMonth);
    calendar.render();
    </script>
    
    </body>
    </html>

    unicorn, 16 Февраля 2019

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

    +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
    34. 34
    35. 35
    36. 36
    <div class="tablicmagazov">
        <h2>Розничные магазины</h2>
    
        <div class="tablica_magazinov">
            <div class="stroka_zagolovok_magazin">
                <div class="kolonka_magazin"></div>
                <div class="kolonka_magazin"></div>
                <div class="kolonka_magazin zagolovok_ico">Груминг</div>
                <div class="kolonka_magazin zagolovok_ico">Ветеринар</div>
                <div class="kolonka_magazin zagolovok_ico">Самовывоз</div>
            </div>
    	    <?foreach($arResult["ITEMS"] as $arItem):?>
                <div class="stroka_magazina">
                    <div class="kolonka_magazin">
                        <a href="<?echo $arItem['DETAIL_PAGE_URL']?>"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[0])[0];?></a>
                        <div class="voprosik_magazini">
                            ?
                            <div class="soderzimoe_voprosa">
                                <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[3])[4];?>
                                <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[4])[4];?>
                                <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[5])[4];?>
                                <div class="strelka_dop_uslugi_vspliv"></div>
                            </div>
                        </div>
                    </div>
                    <div class="kolonka_magazin magaz_metro">
                        <div class="znachek_metro"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[2])[2];?></div>
                        <?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[1])[0];?>
                    </div>
                    <div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[3])[1];?></div>
                    <div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[4])[1];?></div>
                    <div class="kolonka_magazin ico_magaz"><?echo $magazviv->metro($arItem['ID'], $magazviv->masskarta[5])[1];?></div>
                </div>
    	    <?endforeach;?>
        </div>
    </div>

    #bitrix

    cheburator, 24 Января 2019

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

    +4

    1. 1
    2. 2
    3. 3
    Если ЭтаФорма.ВладелецФормы.ВладелецФормы.Объект.Заголовок = "Согласование контрагента " Или ЭтаФорма.ВладелецФормы.ВладелецФормы.Объект.Заголовок = "" Тогда
                 ЭтаФорма.ВладелецФормы.ВладелецФормы.Объект.Заголовок = "Согласование контрагента " + КонтрагентДО;
    КонецЕсли;

    Просто оставлю это здесь.
    Когда ж вы все передохните любители ВладельцевФормы через ВладельцаФормы.

    MaxBS, 11 Января 2019

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

    +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
    #include <stdio.h>
    #include <string>
    
    const struct FooAgeProperty {} age;
    const struct FooNameProperty {} name;
    
    template <typename T>
    struct FooPropertyAssignment {
    	FooPropertyAssignment(T* prop): prop(prop) { }
    
    	T* prop;
    };
    
    struct years {
    	int i;
    
    	years& operator=(FooPropertyAssignment<int> fpa) {
    		*fpa.prop = i;
    		return *this;
    	}
    };
    
    struct nam {
    	std::string s;
    
    	nam& operator=(FooPropertyAssignment<std::string> fpa) {
    		*fpa.prop = s;
    		return *this;
    	}
    };
    
    years operator""years(unsigned long long value) {
    	return { (int)value };
    }
    
    nam operator""_(const char* value, size_t) {
    	return { value };
    }
    
    struct NegativeFoo {
    	NegativeFoo(int* age, std::string* name): age(age), name(name) {}
    
    	int* age;
    	std::string* name;
    };
    
    FooPropertyAssignment<int> operator<(FooAgeProperty fap, NegativeFoo nfoo) {
    	return FooPropertyAssignment<int>(nfoo.age);
    }
    
    FooPropertyAssignment<std::string> operator<(FooNameProperty fnp, NegativeFoo nfoo) {
    	return FooPropertyAssignment<std::string>(nfoo.name);
    }
    
    struct Foo;
    Foo* nasty_global_variable;
    
    struct Foo {
    	Foo() {
    		nasty_global_variable = this;
    	}
    
    	NegativeFoo operator-() {
    		return NegativeFoo(&age, &name);
    	}
    
    	int age;
    	std::string name;
    };
    
    struct to_string {
    	struct foo {
    		foo(int (*)(const char*, ...)) {
    			printf(".old years %d am I and %s is name My\n", nasty_global_variable->age, nasty_global_variable->name.c_str());
    		}
    	};
    };
    
    int main() {
    	Foo foo;
    	5years = age<-foo;
    	"Billy"_ = name<-foo;
    	(to_string::foo)printf;
    }

    https://www.reddit.com/r/ProgrammerHumor/comments/acv2og/just_wrote_my_first_program_in_c/

    Nyamka, 06 Января 2019

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

    +1

    1. 1
    2. 2
    3. 3
    Знаете ли Вы, что ReadPrivateProfileString игнорирует закрывающую квадратную скобку в названии секции?
    
    [ThereAreValidSectionName

    Куд-куд-кудат-куд-куд!

    3oJloTou_neTyx, 05 Января 2019

    Комментарии (4)
  9. Python / Говнокод #25280

    0

    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
    while True:
        prev_word = next_word
        if next_word.is_empty():
            next_word = random.choice(words)
        else:
            next_word = chain.get_next_word(next_word.root, lambda: Text.Word(''))
    
        suffix = suffix_chain.get_next_word((prev_word.suffix, next_word.root), lambda: '')
        if len(suffix) == 0:
            suffix = next_word.suffix
    
        punct = punct_chain.get_next_word(next_word.root, lambda: '')
    
        if len(output_words) == 0 or output_words[-1].is_ending_word():
            res_word = Text.PunctedWord(next_word.root.capitalize(), suffix, punct)
        else:
            res_word = Text.PunctedWord(next_word.root, suffix, punct)
    
        output_words += [res_word] 
        generated_chars += len(res_word)
        if chars_max_count > 0 and generated_chars > chars_max_count:
            break
        if words_max_count > 0 and len(output_words) > words_max_count:
            break

    Вореции. Генерации. Кобенации. Теперь в энтерпрайз почти ООП-стиле!
    s: https://github.com/gost-gk/vorec-enterprise

    gost, 05 Января 2019

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

    0

    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
    import java.io.File
    import java.io.FileReader
    
    fun main(args: Array<String>) {
        val text = getText("Input line")
        val fileName = getText("Input file name")
    
        val mode = getInt("Input mode: 1 for rewrite, 2 for append", 1, 2)
    
        doAction(mode, text, fileName)
    }
    
    fun doAction(mode: Int, text : String, fileName : String) {
        val file = File(fileName)
       when(mode) {
           1 -> file.writeText(text)
           2 -> file.appendText(text)
       }
    }
    
    fun getInt(message: String, min : Int, max: Int) : Int {
    
        var buffer : Int?
    
        do {
            print(message)
            buffer = readLine()?.toIntOrNull()
        }
        while (buffer == null || buffer !in min..max)
    
        return buffer
    }
    
    fun getText(message : String) : String {
        print(message)
        return readLine() ?: ""
    }

    Решил добавить немного говнокода на Kotlin

    Tryff, 29 Декабря 2018

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    СообщениеСМС = Перечисления.СостоянияСообщенияSMS.Исходящее;
    		Для каждого СообщениеСМС Из СообщениеSMS.Услуги Цикл
    			СообщениеСМС.СостояниеСообщения = Перечисления.СостоянияСообщенияSMS.Исходящее;
    		КонецЦикла;

    1С:Медицина. Поликлинка

    gk-5ccd112a, 21 Декабря 2018

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