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

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

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    |	НоменклатураПрисоединенныеФайлы.ПутьКФайлу КАК ПутьКФайлу,
    		  |	ПрисоединенныеФайлы.ХранимыйФайл КАК ХранимыйФайл
    		  |ИЗ
    		  |	ВремНоменклатура КАК ВремНоменклатура
    		  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
    		  |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПрисоединенныеФайлы КАК ПрисоединенныеФайлы
    		  |			ПО НоменклатураПрисоединенныеФайлы.Ссылка = ПрисоединенныеФайлы.ПрисоединенныйФайл
    		  |				И (НоменклатураПрисоединенныеФайлы.ТипХраненияФайла = ЗНАЧЕНИЕ(Перечисление.ТипыХраненияФайлов.ВИнформационнойБазе))
    		  |		ПО (НоменклатураПрисоединенныеФайлы.ВладелецФайла = ВремНоменклатура.Номенклатура)
    		  |			И ((НЕ НоменклатураПрисоединенныеФайлы.ПометкаУдаления))
    		  |ГДЕ
    		  |	((НЕ &ОтбиратьФайлы)
    		  |			ИЛИ &ОтбиратьФайлы
    		  |				И НоменклатураПрисоединенныеФайлы.Ссылка В (&МассивФайлов))
    		  |
    		  |УПОРЯДОЧИТЬ ПО
    		  |	Номенклатура
    		  |;
    		  |
    		  |////////////////////////////////////////////////////////////////////////////////
    		  |ВЫБРАТЬ РАЗРЕШЕННЫЕ
    		  |	ВремНоменклатура.Номенклатура КАК Номенклатура,
    		  |	МАКСИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод
    		  |ПОМЕСТИТЬ ВремШтрихкодыДляКаталога
    		  |ИЗ
    		  |	ВремНоменклатура КАК ВремНоменклатура
    		  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
    		  |		ПО ВремНоменклатура.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
    		  |			И (ШтрихкодыНоменклатуры.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
    		  |
    		  |СГРУППИРОВАТЬ ПО
    		  |	ВремНоменклатура.Номенклатура
    		  |;
    		  |
    		  |////////////////////////////////////////////////////////////////////////////////
    		  |ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
    		  |	Организации.Ссылка КАК Контрагент,
    		  |	Организации.Наименование,
    		  |	Организации.НаименованиеПолное,
    		  |	Организации.ЮрФизЛицо,
    		  |	Организации.КодПоЕДРПОУ,
    		  |	Организации.КонтактнаяИнформация.(
    		  |		Тип КАК Тип,
    		  |		Вид КАК Вид,
    		  |		Представление КАК Представление,
    		  |		ЗначенияПолей КАК ЗначенияПолей
    		  |	)
    		  |ИЗ
    		  |	Справочник.Организации КАК Организации
    		  |ГДЕ
    		  |	Организации.Ссылка = &ОрганизацияВладелецКаталога";
    
    	ТекстЗапроса = 
    		ТекстЗапроса + Символы.ПС + ";" + Символы.ПС
    		+ "ВЫБРАТЬ
    		  |	ВремНоменклатура.Номенклатура КАК Номенклатура,
    		  | ВремНоменклатура.ФормаКруг как ФормаКруг
    		  |	ВремНоменклатура.ПометкаУдаления КАК ПометкаУдаления,
    		  |	ВремНоменклатура.Родитель КАК Родитель,
    		  |	ВремНоменклатура.Код КАК Код,
    		  |	ВремНоменклатура.Наименование КАК Наименование,
    		  |	ВремНоменклатура.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
    		  |	ВремНоменклатура.Номенклатура.Описание КАК Описание,

    Saldorian, 29 Мая 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Попытка
               ЗаблокироватьДанныеФормыДляРедактирования();
    Исключение
               ВызватьИсключение КраткоеОписаниеОшибки(ОписаниеОшибки());
    КонецПопытки

    Процедура ЗаблокироватьДанныеФормыДляРедактировани я() при невозможности заблокировать данные сама вызывает исключение

    acula98, 26 Мая 2017

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

    −98

    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
    ВЫБОР
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 1
    		ТОГДА "01 Январь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 2
    		ТОГДА "02 Февраль"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 3
    		ТОГДА "03 Март"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 4
    		ТОГДА "04 Апрель"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 5
    		ТОГДА "05 Май"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 6
    		ТОГДА "06 Июнь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 7
    		ТОГДА "07 Июль"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 8
    		ТОГДА "08 Август"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 9
    		ТОГДА "09 Сентябрь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 10
    		ТОГДА "10 Октябрь"
    	КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 11
    		ТОГДА "11 Ноябрь"
    	ИНАЧЕ "12 Декабрь"
    КОНЕЦ

    Конвертация

    spaceashot, 30 Марта 2017

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

    −49

    1. 1
    Ячейка = ТабДокумент.НайтиТекст("Уважаемые Клиенты! Мы стараемся");

    blMbl, 12 Декабря 2016

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

    −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
    30. 30
    Для каждого зн Из масЗначСтр Цикл
       столбик=столбик+1;
       ЕСЛИ столбик <5 Тогда
        Продолжить;
       ИНАЧЕЕСЛИ столбик =6 ИЛИ столбик =7 ИЛИ  столбик =9 Тогда
        Продолжить;
       ИНАЧЕЕСЛИ (столбик >10) И (столбик <19)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ (столбик >19) И (столбик <24)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ (столбик >24) И (столбик <28)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ  (столбик =29)  Тогда
        Продолжить;
       ИНАЧЕЕСЛИ  (столбик >30)  Тогда
        Продолжить;
       ИНАЧЕ
        номЗнач = номЗнач + 1;
        Если  номЗнач>4  Тогда
         Прервать;
        Иначе
         новСтр[номЗнач] = СтрЗаменить(зн,символОграничения,"""");
         //Запомним сразу дату
         Если  номЗнач=3   Тогда
          Сдата=зн; 
         КонецЕсли;
         А=1;
        КонецЕсли;
       КОНЕЦЕСЛИ;
      КонецЦикла;

    выборка элементов массива, зная позицию этих элементов

    DelHayprO, 22 Ноября 2016

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

    −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
    if (COption::GetOptionString("vote", "VOTE_COMPATIBLE_OLD_TEMPLATE", "Y") == "N")
    	{
    		unset($arDisplayOptions[2]);
    		unset($arDisplayOptions[3]);
    		unset($arDisplayOptions[4]);
    		unset($arDisplayOptions[5]);
    		unset($arDisplayOptions[6]);
    	}
    	elseif ($old_module_version=="Y")
    	{
    		unset($arDisplayOptions[6]);
    	}
    	else
    	{
    		unset($arDisplayOptions[2]);
    		unset($arDisplayOptions[3]);
    		unset($arDisplayOptions[4]);
    		unset($arDisplayOptions[5]);
    	}

    bitrix/modules/vote/options.php:44

    maxyc, 29 Августа 2016

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

    −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
    <?php
    abstract class Upload {//Клас загрузка файлов на сервер //Класс, который не имеет реализации.
    
        private $dir;//директория для загрузки
        private $mime_type;//Некий mime_type
    
        public function __construct($dir, $mime_type) {
            $this->dir = $dir;
            $this->mime_type = $mime_type;
        }
    
        public function UploadFile($file) {
            if (!$this->isSequrity($file)) return false;
            $dirupload = $_SERVER['DOCUMENT_ROOT']."/".$this->dir."/".$file['name'];
            return move_uploaded_file($file['tmp_name'], $dirupload);
        }
    
        protected function isSequrity($file) {
            $blacklist = array (".php", ".php3", ".php4", ".html", ".htm", ".exe", ".js", ".css");//Запрещено
            foreach ($blacklist as $item) {
                if (preg_match("/$item\$/i", $file["name"])) return false;
            }
            $type = $file["type"];//тип файла
            $mime_types = $this->mime_type;
            $i = 0;
            foreach ($mime_types as $k => $v) {
                if ($type == $v) break;//Если тип файла найден(равняется типу, что файл какого типа, то выходим из цикла.
                if ($i + 1 === count($this->mime_type)) return false;
                $i++;
            }
            $size = $file["size"];
            if ($size > 2048000) return false;
            return true;
        }
    }
    ?>

    Код мне прислал адепт пРуссакова. С вопросом, "че не раблотает?". Собственно орфография, пунктуация и стили сохранены. Если кто-то будет спрашивать "чем плохи видеокурсы?", просто скиньте линку на данный код.

    Keeper, 28 Августа 2016

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

    +2009

    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
    KeyFactory keyFactory = new KeyFactory();
    KeyObj keyObj = keyFactory.getKeyObj(wParam);
    keyObj.doStuff();
    
    
    class VK_F11 extends KeyObj {
       boolean val;
       public void doStuff() {
          val = !val;
       }
    }
    
    class VK_F12 extends KeyObj {
       boolean val;
       public void doStuff() {
          val = !val;
       }
    }
    
    class KeyFactory {
       public KeyObj getKeyObj(int param) {
          switch(param) {
             case VK_F11:
                return new VK_F11();
             case VK_F12:
                return new VK_F12();
          }
          throw new KeyNotFoundException("Key " + param + " was not found!");
       }
    }

    Казалось бы, что может быть проще работы с GPIO?

    CYB3R, 19 Августа 2016

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

    +320

    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
    import java.io.*;
    public class word {
    	static int count = 0;
    public static void main (String[] args)throws IOException{
    	BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    	String word = reader.readLine();
    	reader.close();
    	String r = word.replaceAll("\\d|\\s|\\\\|/|\\]|\\[|\\`|\\~|\\.|\\>|\\<|\\,|\\;|\\:|\\\"|\\'|\\||\\?|\\!|\\@|\\#|\\№|\\$|\\%|\\^|\\&|\\*|\\)|\\(|\\-|\\_|\\+|\\=|\\}|\\{","");
    	char[] letters = r.toCharArray();
    	
    	for(int i = 0;i<letters.length;i++){
    		count++;
    	
    	}
    	System.out.println("Кол-во букв:" + count);
    }
    }

    программа считывает кол-во букв в слове, которое вводит юзер

    TopCodeMonkey, 17 Августа 2016

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

    +261

    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
    /* load config */
            for (i = 0; ; i++) {
                    conf[0] = '\0';
                    switch (i) {
                    case 0:
                            /* ~ */
                            snprintf(conf, sizeof conf, "%s/.%s",
                                pwd->pw_dir, SWM_CONF_FILE);
                            break;
                    case 1:
                            /* global */
                            snprintf(conf, sizeof conf, "/etc/%s",
                                SWM_CONF_FILE);
                            break;
                    case 2:
                            /* ~ compat */
                            snprintf(conf, sizeof conf, "%s/.%s",
                                pwd->pw_dir, SWM_CONF_FILE_OLD);
                            break;
                    case 3:
                            /* global compat */
                            snprintf(conf, sizeof conf, "/etc/%s",
                                SWM_CONF_FILE_OLD);
                            break;
                    default:
                            goto noconfig;
                    }
    
                    if (strlen(conf) && stat(conf, &sb) != -1)
                            if (S_ISREG(sb.st_mode)) {
                                    cfile = conf;
                                    break;
                            }
            }

    Вот так spectrwm грузит конфиги.

    codemonkey, 15 Августа 2016

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