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

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (!CModule::IncludeModule("iblock")) die();//7-оборудование. 8-отрасли. 5-разработки. 6-проекты.
    $a=0;if(strpos($_SERVER['REQUEST_URI'], '/development/')!==false) $a=5;
    elseif(strpos($_SERVER['REQUEST_URI'], '/projects/')!==false) $a=6;
    elseif(strpos($_SERVER['REQUEST_URI'], '/serial-production/')!==false) $a=13;
    elseif(strpos($_SERVER['REQUEST_URI'], '/control-systems/')!==false) $a=7;
    elseif(strpos($_SERVER['REQUEST_URI'], '/industry/')!==false) $a=8;

    Классика битрикс - разработки в индусском стиле. Проект стоил 500к+ дерева, не считая поддержки.

    ajiko, 07 Июня 2016

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

    −99

    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
    Код выполняется в форме документа заказ покупателя
    если Не проведен тогда
    	сообщить ("Сопоставлять нужно только после Заполнить и провести");
    	возврат;
    КонецЕсли;
    Заказссылка = этотОбъект.Ссылка;	
    ТчЗаказаПокупателя = этотОбъект.Товары;
    для каждого РедактируемаяСтрока из ТчЗаказаПокупателя цикл
    	стр =""+РедактируемаяСтрока.Размещение;						
    	если  значениеЗаполнено(стр) и Тип("ДокументСсылка.ЗаказПокупателя") =ТипЗнч(ЗаказСсылка) и Тип("ДокументСсылка.ЗаказПоставщику")=ТипЗнч(РедактируемаяСтрока.Размещение)		
    	тогда		
    		Док_ЗаказПоставщику =РедактируемаяСтрока.Размещение.получитьОбъект();	
    		тч = Док_ЗаказПоставщику.товары;

    tixis1c, 30 Мая 2016

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

    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
    // jquery required
    
    function trim(str){
    	return str.replace(/^\s+/, "").replace(/\s+$/, "");
    }
    
    function round1000(val){
    	return Math.round(parseInt(val)/1000)*1000;
    }
    function floor1000(val){
    	return Math.floor(parseInt(val)/1000)*1000;
    }
    function ceil1000(val){
    	return Math.ceil(parseInt(val)/1000)*1000;
    }
    
    function setCookie(c_name,value,expiredays){
    	var exdate=new Date();
    	exdate.setDate(exdate.getDate()+expiredays);
    	document.cookie=c_name+'='+escape(value)+((expiredays==null)?'':';expires='+exdate.toGMTString())+';path=/';
    }
    
    function resetCookie(c_name){
      var exdate=new Date(0);
    	document.cookie = c_name + '=0;expires=' + exdate.toUTCString() + ';path=/';
    }
    
    function getCookie(name){
    	var cookies=document.cookie.split(";");
    	for(var i=0;i<cookies.length;i++){
    		var params=cookies[i].split("=");
    		if(trim(params[0])==name){
    			return unescape(params[1]);
    		}
    	}
    	return false;
    }
    
    function asyncScriptLoader(scriptUrl){
    	var d=document,
    	h=d.getElementsByTagName('head')[0],
    	s=d.createElement('script');
    	s.type='text/javascript';
    	s.async=true;
    	s.src=scriptUrl;
    	h.appendChild(s);
    }

    http://www.morton.ru/images/js/main.js

    >> // jquery required
    >> function asyncScriptLoader(scriptUrl){

    nik757, 20 Мая 2016

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

    −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
    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
    <?php
    namespace AppBundle\Command;
    
    use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
    use Symfony\Component\Console\Input\InputArgument;
    use Symfony\Component\Console\Input\InputOption;
    use Symfony\Component\Console\Input\InputInterface;
    use Symfony\Component\Console\Output\OutputInterface;
    
    class InterpolationLabsCommand extends ContainerAwareCommand
    {
    
        /**
         * nodes for interpolation polynomial
         */
        protected $_nodes;
    
    
        protected function configure()
        {
            $this
                ->setName('app:interpolation:labs')
                ->setDescription('interpolation')
                ->addOption('nodes-count', null, InputOption::VALUE_REQUIRED, 
                    'Sets the number of nodes for interpolation.', null);
        }
    
    
        protected function execute(InputInterface $input, OutputInterface $output)
        {
            $intervalStart = -3;
            $intervalEnd  = 3;
    
            $nodesCount = $input->getOption('nodes-count');
            
            $this->generateSeries($nodesCount, $intervalStart, $intervalEnd, function($x) {
                return sin($x);
            });
    
            foreach (range($intervalStart, $intervalEnd, 0.1) as $value) {
    
                $result = $this->getLagrangeValue($value);
                $output->writeln("$value $result");
            }
        }
    
        /**
         * Find value for lagrange interpolation polynomial at n nodes
         * @throw \Exception
         * 
         * @return 
         */
        protected function getLagrangeValue($x)
        {
    
            $w = function($nodeKey) use ($x) {
    
                if (!array_key_exists($nodeKey, $this->_nodes)) {
                    throw new \Exception("The key is not exists to the array nodes");
                }
    
                $return = 1;
                foreach ($this->_nodes as $key => $node) {
                    if ($key == $nodeKey) {
                        continue;
                    }
    
                    $return *= ($x - $node->x)/($this->getNode($nodeKey)->x - $node->x);
                }
                return $return;
            };
    
            $result = 0;
            foreach ($this->_nodes as $nodeKey => $node) {
                $a = $w($nodeKey);
    
                $result += $w($nodeKey) * $node->fx;
            }
    
            return $result;
    
        }
    
        protected function getNode($i)
        {
            return $this->_nodes[$i];
        }
    
    
        private function generateSeries($num,  $intervalStart, $intervalEnd,  $fun)
        {
            for ($i=0; $i < $num; $i++) { 
    
                $x  = $intervalStart + ($intervalEnd - $intervalStart)/($num-1) * $i;
                $this->_nodes[] = (object) array('x' => $x, 
                    'fx' => $fun($x)); 
            }
        }
    }

    Лаба по методам численного анализа

    konmado, 19 Мая 2016

    Комментарии (13)
  6. 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)
  7. PHP / Говнокод #19918

    0

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

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

    Keeper, 03 Мая 2016

    Комментарии (13)
  8. 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)
  9. 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)
  10. Куча / Говнокод #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)
  11. 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)