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

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

    +6

    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
    public function generate_hash($options = null) {
            $string_length  = (isset($options["length"])) ? $options["length"] : 10;
            $use_lowercase  = (isset($options["lowercase"])) ? $options["lowercase"] : true;
            $use_uppercase  = (isset($options["uppercase"])) ? $options["uppercase"] : true;
            $lowercase      = array(
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h",
                "i",
                "j",
                "l",
                "m",
                "n",
                "o",
                "p",
                "q",
                "r",
                "s",
                "t",
                "u",
                "v",
                "w",
                "x",
                "y",
                "z"
            );
            $uppercase      = array(
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U",
                "V",
                "W",
                "X",
                "Y",
                "Z"
            );
            $digits         = array(
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9
            );
            $arrays         = array_merge($lowercase, $uppercase);
            $final_string   = array();
            $final_string[] = $arrays[array_rand($arrays)];
            // чтобы первым символом не была цифра
            $arrays         = array_merge($arrays, $digits);
            for ($i = 0; $i < ($string_length - 1); $i++) {
                $final_string[] = $arrays[array_rand($arrays)];
            }
            $final_string = implode("", $final_string);
            return $final_string;
    }

    dgkj, 18 Мая 2016

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

    0

    1. 1
    https://github.com/Londeren/Bitrix/blob/master/1C/bx_1c_import.php

    Копался в недраг гитхаба и наткнулся на простыня для импорта 1с для битрикса

    Keeper, 03 Мая 2016

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

    +7

    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
    #include <iostream>
    
    using namespace std;
    
    class Foo {
    public:
        operator int() const {
            cout<<"1";
            return *this;
        }
    };
    
    int main() {
        Foo foo;
        int i = foo;
    
        cout<<i<<endl;
        return 0;
    }

    govnokod3r, 28 Апреля 2016

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

    +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
    List<dynamic> reporting = item.company_profile_data?.AnnualFinancialStatementFiles ??
                                              new List<dynamic>();
                    string annual = "";
                    foreach (var report in reporting)
                    {
                        if (report.File != null)
                        {
                            string name = report.File?.Info?.Name;
                            if (name != null) annual = annual + name.Substring(0, name.LastIndexOf('.')) + ", ";
                        }
                    }
                    item.Name = annual;

    П - производительность.

    Psilon, 21 Апреля 2016

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

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?xml version="1.0" encoding="windows-1251"?>
    <Анкета ВерсияСхемы="2.05" ДатаФормирования="2016-04-19T17:04:57" ФорматДаты="ДФ=yyyy-MM-dd; ДЛФ=DT" ФорматВремени="ДФ=ЧЧ:мм:сс; ДЛФ=T" РазделительДатаВремя="T" >
     <Вопрос Ид="" Значение="">
     <Ответ Тип="Простой"></Ответ>
     <Ответ Тип="Комплексный">
     <ЧастьВопроса Тип="Компания"></ЧастьВопроса>
     <ЧастьВопроса Тип="Должность"></ЧастьВопроса>
     </Ответ>
     </Вопрос>
    </Анкета>

    Мда...

    Stefan_Hitskov, 21 Апреля 2016

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

    +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
    function op_v($n0 = NULL,$n1 = NULL,$n2 = NULL,$n3 = NULL,$n4 = NULL,$n5 = NULL,$n6 = NULL,$n7 = NULL,$n8 = NULL,$n9 = NULL, $sql) {
    //быдлокод гг
    if ($sql==0){
     if(!empty($n0)) $x0 = '<option value="0">'.$n0.'</option>';
     if(!empty($n1)) $x1 = '<option value="1">'.$n1.'</option>';
     if(!empty($n2)) $x2 = '<option value="2">'.$n2.'</option>';
     if(!empty($n3)) $x3 = '<option value="3">'.$n3.'</option>';
     if(!empty($n4)) $x4 = '<option value="4">'.$n4.'</option>';
     if(!empty($n5)) $x5 = '<option value="5">'.$n5.'</option>';
     if(!empty($n6)) $x6 = '<option value="6">'.$n6.'</option>';
     if(!empty($n7)) $x7 = '<option value="7">'.$n7.'</option>';
     if(!empty($n8)) $x8 = '<option value="8">'.$n8.'</option>';
     if(!empty($n9)) $x9 = '<option value="9">'.$n9.'</option>';
    
     $res = $x0.$x1.$x2.$x3.$x4.$x5.$x6.$x7.$x8.$x9;
     }
     if ($sql==1){
     if(!empty($n1)) $x0 = '<option value="1">'.$n1.'</option>';
     if(!empty($n0)) $x1 = '<option value="0">'.$n0.'</option>';
     if(!empty($n2)) $x2 = '<option value="2">'.$n2.'</option>';
     if(!empty($n3)) $x3 = '<option value="3">'.$n3.'</option>';
     if(!empty($n4)) $x4 = '<option value="4">'.$n4.'</option>';
     if(!empty($n5)) $x5 = '<option value="5">'.$n5.'</option>';
     if(!empty($n6)) $x6 = '<option value="6">'.$n6.'</option>';
     if(!empty($n7)) $x7 = '<option value="7">'.$n7.'</option>';
     if(!empty($n8)) $x8 = '<option value="8">'.$n8.'</option>';
     if(!empty($n9)) $x9 = '<option value="9">'.$n9.'</option>';
    
     $res = $x0.$x1.$x2.$x3.$x4.$x5.$x6.$x7.$x8.$x9;
     }
     
     if ($sql==2){
     if(!empty($n2)) $x0 = '<option value="2">'.$n2.'</option>';
     if(!empty($n0)) $x1 = '<option value="0">'.$n0.'</option>';
     if(!empty($n1)) $x2 = '<option value="1">'.$n1.'</option>';
     if(!empty($n3)) $x3 = '<option value="3">'.$n3.'</option>';
     if(!empty($n4)) $x4 = '<option value="4">'.$n4.'</option>';
     if(!empty($n5)) $x5 = '<option value="5">'.$n5.'</option>';
     if(!empty($n6)) $x6 = '<option value="6">'.$n6.'</option>';
     if(!empty($n7)) $x7 = '<option value="7">'.$n7.'</option>';
     if(!empty($n8)) $x8 = '<option value="8">'.$n8.'</option>';
     if(!empty($n9)) $x9 = '<option value="9">'.$n9.'</option>';
     
     $res = $x0.$x1.$x2.$x3.$x4.$x5.$x6.$x7.$x8.$x9;
     }
    
    if ($sql==3){
     if(!empty($n3)) $x0 = '<option value="3">'.$n3.'</option>';
     if(!empty($n0)) $x1 = '<option value="0">'.$n0.'</option>';
     if(!empty($n1)) $x2 = '<option value="1">'.$n1.'</option>';
     if(!empty($n2)) $x3 = '<option value="2">'.$n2.'</option>'; 
     if(!empty($n4)) $x4 = '<option value="4">'.$n4.'</option>';
     if(!empty($n5)) $x5 = '<option value="5">'.$n5.'</option>';
     if(!empty($n6)) $x6 = '<option value="6">'.$n6.'</option>';
     if(!empty($n7)) $x7 = '<option value="7">'.$n7.'</option>';
     if(!empty($n8)) $x8 = '<option value="8">'.$n8.'</option>';
     if(!empty($n9)) $x9 = '<option value="9">'.$n9.'</option>';
    
     $res = $x0.$x1.$x2.$x3.$x4.$x5.$x6.$x7.$x8.$x9;
     }
    
    if ($sql==4){
     if(!empty($n4)) $x0 = '<option value="4">'.$n4.'</option>';
     if(!empty($n0)) $x1 = '<option value="0">'.$n0.'</option>';
     if(!empty($n1)) $x2 = '<option value="1">'.$n1.'</option>';
     if(!empty($n2)) $x3 = '<option value="2">'.$n2.'</option>';
     if(!empty($n3)) $x4 = '<option value="3">'.$n3.'</option>';
     if(!empty($n5)) $x5 = '<option value="5">'.$n5.'</option>';
     if(!empty($n6)) $x6 = '<option value="6">'.$n6.'</option>';
     if(!empty($n7)) $x7 = '<option value="7">'.$n7.'</option>';
     if(!empty($n8)) $x8 = '<option value="8">'.$n8.'</option>';
     if(!empty($n9)) $x9 = '<option value="9">'.$n9.'</option>';
    
     $res = $x0.$x1.$x2.$x3.$x4.$x5.$x6.$x7.$x8.$x9;
     }
    
    if ($sql==5){
     if(!empty($n5)) $x0 = '<option value="5">'.$n5.'</option>';
     if(!empty($n0)) $x1 = '<option value="0">'.$n0.'</option>';
     if(!empty($n1)) $x2 = '<option value="1">'.$n1.'</option>';
     if(!empty($n2)) $x3 = '<option value="2">'.$n2.'</option>';
     if(!empty($n3)) $x4 = '<option value="3">'.$n3.'</option>';
     if(!empty($n4)) $x5 = '<option value="4">'.$n4.'</option>';
     if(!empty($n6)) $x6 = '<option value="6">'.$n6.'</option>';
     if(!empty($n7)) $x7 = '<option value="7">'.$n7.'</option>';
     if(!empty($n8)) $x8 = '<option value="8">'.$n8.'</option>';
     if(!empty($n9)) $x9 = '<option value="9">'.$n9.'</option>';
    и так далее...

    привет из wap'а

    odoviez, 10 Апреля 2016

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

    +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
    /**
         * Validate natural number (0,1,2,3,...)
         *
         * @param string $value number
         * @return string
         */
        public function natural($value)
        {
            $response = '';
            if (!preg_match('/^[0-9]+$/', $value)) {
                $response = $this->lang->get_str('system_invalid_neutral');
            }
            return $response;
        }
    
        /**
         * Validate natural number, but not a zero (1,2,3,...)
         *
         * @param string $value number
         * @return string
         */
        public function natural_no_zero($value)
        {
            $response = '';
            if (!preg_match('/^[0-9]+$/', $value)) {
                $response = $this->lang->get_str('system_invalid_neutral_no_zero');
            }
    
            if ($value == 0) {
                $response = $this->lang->get_str('system_invalid_neutral_no_zero');
            }
            return $response;
        }

    b2012993, 15 Марта 2016

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

    +5

    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
    int tries = 0;
    while (true)
    {
    	try
    	{
    		DoSomething();
    	}
    	catch
    	{
    		if (++tries > 3)
    			throw;
    	}
    }

    Оригинальный способ попытаться выполнить некий код, давая ему на это N попыток , а только потом упасть с ошибкой.

    leon_mz, 02 Марта 2016

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

    +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
    boost_include_path_list = \
        "/usr/local/include/" \
        "/usr/local/boost_1_57_0/" \
        "C:\\boost_1_59_0\\" \
        "C:\\Program Files (x86)\\boost_1_57_0\\"
    
    for(path, boost_include_path_list) {
        exists($$path) {
            boost_include_path = $$path
        }
    }
    
    INCLUDEPATH += $$boost_include_path

    qmake, кроссплатформенность

    Xom94ok, 29 Февраля 2016

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

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    mId = core.Material.Materials.FirstOrDefault(x => x.Value.article == m.article && x.Value.title == m.title && x.Value.category_id == m.category_id).Key;
    if (mId == 0)
    	mId = core.Material.Materials.FirstOrDefault(x => x.Value.article == m.article && x.Value.title == m.title).Key;
    if (mId == 0)
    	mId = core.Material.Materials.FirstOrDefault(x => x.Value.article == m.article && x.Value.category_id == m.category_id).Key;
    if (mId == 0)
    	mId = core.Material.Materials.FirstOrDefault(x => x.Value.title == m.title && x.Value.category_id == m.category_id).Key;
    if (mId == 0)
    	mId = core.Material.Materials.FirstOrDefault(x => x.Value.article == m.article).Key;
    if (mId == 0)
    	mId = core.Material.Materials.FirstOrDefault(x => x.Value.title == m.title).Key;

    Есть 3 поля.
    Поиск сначала по 3. Затем по 2, затем по 2 и еще по 2. И от безысходности по 1
    Реально ли это оптимизировать?

    yakov_255, 29 Января 2016

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