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

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

    −100

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    |ИЗ
    |	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    |			&ДатаНач,
    |			&ДатаКон,
    |			СчетДт В ИЕРАРХИИ (&СчетаРасчетов)
    |				И СчетКт В ИЕРАРХИИ (&СчетаВозврата)
    |				И Организация = &Организация
    |				И Активность = ИСТИНА
    |				И (НЕ СчетДт В ИЕРАРХИИ (&СчетаРасчетов))) КАК ХозрасчетныйОборотыДтКт

    БП 2.0, типовой отчет.

    OdinAss, 19 Февраля 2016

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

    −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
    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
    Типовая зуп 2.5 данные берутся из справочника  "Степени родства физических лиц" не предопределенные элементы. 
    
    
    
    	Если ТекущаяСтрока.Пол = Перечисления.ПолФизическихЛиц.Мужской Тогда
    		
    		Если СтепеньРодстваРебенка = "05 " ИЛИ СтепеньРодстваРебенка = "06 " Тогда // Сын // Дочь
    			
    			ТекущаяСтрока.Статус = СоответствиеСтепенейРодства["03"]; // Отец
    			
    		ИначеЕсли СтепеньРодстваРебенка = "42 " ИЛИ СтепеньРодстваРебенка = "43 " Тогда // Пасынок // Падчерица
    			
    			ТекущаяСтрока.Статус = СоответствиеСтепенейРодства["40"]; // Отчим
    			
    		КонецЕсли; 
    		
    	Иначе
    		
    		Если СтепеньРодстваРебенка = "05 " ИЛИ СтепеньРодстваРебенка = "06 " Тогда // Сын // Дочь
    			
    			ТекущаяСтрока.Статус = СоответствиеСтепенейРодства["04"]; // Мать
    			
    		ИначеЕсли СтепеньРодстваРебенка = "42 " ИЛИ СтепеньРодстваРебенка = "43 " Тогда // Пасынок // Падчерица
    			
    			ТекущаяСтрока.Статус = СоответствиеСтепенейРодства["41"]; // Мачеха
    			
    		КонецЕсли; 
    		
    	КонецЕсли;

    sandrohaos, 18 Февраля 2016

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

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    global $userinfo;
    ...
    $a_query = "select id,name,company,email,phone,url,type from user where login='" .
    								$_SESSION["se_login"] . "' and passwd='" .
    								$_SESSION["se_passwd"] . "' and status=1";
    $a_res = mysql_query($a_query);
    ...
    list($userinfo['id'],$userinfo['name'],$userinfo['company'],$userinfo['email'],$userinfo['phone'],$userinfo['url'],$userinfo['type']) = mysql_fetch_row($a_res);
    ...

    roman_gemini, 13 Февраля 2016

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

    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
    class ConnectDB {
      protected static $_instance; 
      
      private function __construct() {
        $this->DB = new DBConnector();
      }
    
      private function __clone() {}
    
      private function __wakeup() {}
    
      public static function getInstance() {
        
        if (empty(self::$instance)) {
          self::$_instance = new self;   
        }
        return self::$_instance;
      }
    
    }

    Синглтон, который каждый рас создает новый объект

    Nemesys, 10 Февраля 2016

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

    +1

    1. 1
    bool isNoGoodCommentText = String.IsNullOrEmpty(this.txbxCommentCtrl.Text) || String.IsNullOrWhiteSpace(this.txbxCommentCtrl.Text);

    И действительно, is not good

    pipjaka, 05 Февраля 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    $tdir = APPLICATION_PATH.'/../tmp/lv/'.md5(json_encode($_GET));
    if (!is_dir($tdir))
        mkdir($tdir, 0777, true);
    foreach(glob($lv.'/*') as $f) if(filemtime($f) < time() - 3600) rm_rf($f);

    Вот поэтому нотайсы должны быть фатальными

    DIX315, 04 Февраля 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    	function generate_number_part($length=2) { 
    		$password = substr(preg_replace("/[^0-9]/", "", crypt(time())) .
    			preg_replace("/[^0-9]/", "", crypt(time())) .
    			preg_replace("/[^0-9]/", "", crypt(time())),
    			0, $length);
    			return $password;
    	}

    Сгенерировать пароль из ровно $length цифр... или меньше

    ruslanbes2, 03 Февраля 2016

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

    +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
    #define RandomNumbers_count 16
    static unsigned char RandomNumbers[] =
    {
    	7, 167, 203, 54,
    	32, 78, 164, 112,
    	237, 182, 75, 96,
    	135, 13, 42, 27
    };
    static unsigned char CurrUrandPos = 0;
    void getURandom(void *buf, size_t size)
    {
    	if (size == 0)
    		return;
    	for (size_t i = 0; i < size; i++)
    	{
    		((char*)buf)[i] = RandomNumbers[CurrUrandPos];
    		CurrUrandPos = (CurrUrandPos + 1) % RandomNumbers_count;
    	}
    }

    Генератор псевдослучайных чисел: избавляемся от платформозависимого кода.

    tar_gz, 28 Января 2016

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

    −101

    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
    // Процедура организует выбор элементов по результату запроса
    Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено, 
    											ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора, 
    											СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
    											Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)
    
    
    // Процедура организует выбор элементов по результату запроса
    Процедура ВыбратьЭлементОкончаниеВводаАдресногоКлассификатора(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено, 
    											ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора, 
    											СтруктураВыбранногоЭлемента = Неопределено, НачальныйУровеньДетализации = 0, КонечныйУровеньДетализации = 5)
    
    
    // Процедура организует выбор элементов по результату запроса
    Процедура ВыбратьЭлементОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, ОбработкаПоискаПоСтроке, ТекстПоискаПоСтроке, РезультатЗапроса, ЭтаФорма, ПоследнееЗначениеЭлементаПоискаПоСтроке = Неопределено, 
    											ПриОтсутствииЗначенияОставлятьТекст = Истина, ПоляПоиска, ПолеВыбора, 
    											СтруктураВыбранногоЭлемента = Неопределено, ОсновноеПредставлениеВВидеКода = Ложь,
    											Знач СообщатьПользователюОбОшибкеВводаДанных = Истина)

    Просто пара заголовков процедур из типовых конфигураций 1С (15 параметров, Карл, там 15 параметров!). Сопроводительные комментарии прилагаются.
    К слову сами процедуры занимают не более 20 строк, но самое забавное заключается в том, что некоторые параметры вообще не используются при работе процедуры.

    CMblCL, 25 Декабря 2015

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

    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
    53. 53
    54. 54
    55. 55
    56. 56
    <?
    //Ограничиваем время выполнения скрипта 3-мя минутами
    set_time_limit(180);
    
    //Подключаемся к MySQL, при неудаче выводим ошибку
    mysql_connect("localhost", "torrent", "password") or die("Could not connect to MySQL");
    
    //Выбираем БД, при неудаче выводим ошибку
    mysql_select_db("torrent") or die("Could not select database");
    
    //Переводим все общение с БД в кодировку utf8
    mysql_query("SET NAMES utf8");
    
    //Открываем файл указанный в url переменной "f"
    $fp = fopen($_GET[f], "r");
    
    //Запускаем цикл до конца строк в файле
    while (!feof($fp)) {
            //Считываем строку (да, функцию trim() выполнять не обязательно, но у каждого программиста свои "тараканы")
            $tmp = trim(fgets($fp));
            
            //Преобразуем строку в массив. За разделитель используем ";"
            $torrent = explode('";"', $tmp);
            
            //В первом и последнем элементе удаляем лишние символы "
            $torrent[0] = substr($torrent[0], 1);
            $torrent[6] = substr($torrent[6], 0, (strlen($torrent[6]) - 1));
            
            //Если раскомментировать следующую строку, то можно увидеть как распарсился первый торрент в файле
            //print '<pre>'; print_r($torrent); exit();
            
            //Вставляем данные текущего торрента в таблицу
            mysql_query("INSERT INTO `torrents` 
                (`name`,
                `hash`,
                `date`,
                `size`,
                `topic_id`,
                `cat_id`,
                `cat_name`) 
              VALUES 
                ('" . mysql_real_escape_string($torrent[4]) . "',
                '" . $torrent[3] . "',
                '" . $torrent[6] . "',
                '" . $torrent[5] . "',
                '" . $torrent[2] . "',
                '" . $torrent[0] . "',
                '" . mysql_real_escape_string($torrent[1]) . "')
            ");
    }
    //Закрываем файл
    fclose($fp);
    
    //Выводим сообщение о завершении работы
    print 'complete: ' . $_GET[f];
    ?>

    Импорт CSV в MySQL. Со швабры.

    gost, 23 Декабря 2015

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