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

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

    −134

    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
    Запрос = Новый Запрос;
    	Запрос.Текст = 
    	"ВЫБРАТЬ ПЕРВЫЕ 1
    	|	ВложенныйЗапрос.Ссылка,
    	|	ВложенныйЗапрос.Заказ,
    	|	ЕСТЬNULL(ВложенныйЗапрос.ВРезерве, 0) + ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВРезервеОстаток, 0) КАК СвободныйОстаток
    	|ИЗ
    	|	(ВЫБРАТЬ ПЕРВЫЕ 1
    	|		ВложенныйЗапрос.Ссылка КАК Ссылка,
    	|		ВложенныйЗапрос.Заказ КАК Заказ,
    	|		СвободныеОстаткиТоваровНаСкладах.ВРезерве КАК ВРезерве,
    	|		ВложенныйЗапрос.Размер КАК Размер
    	|	ИЗ
    	|		(ВЫБРАТЬ ПЕРВЫЕ 1
    	|			Номенклатура.Ссылка КАК Ссылка,
    	|			ЗаказПокупателя.Ссылка КАК Заказ,
    	|			ВЫБОР
    	|				КОГДА &Размер = ЗНАЧЕНИЕ(Справочник.Размер.ПустаяСсылка)
    	|					ТОГДА ЗНАЧЕНИЕ(Справочник.Размер.ПустаяСсылка)
    	|				ИНАЧЕ &Размер
    	|			КОНЕЦ КАК Размер
    	|		ИЗ
    	|			Справочник.Номенклатура КАК Номенклатура,
    	|			Документ.ЗаказПокупателя КАК ЗаказПокупателя
    	|		ГДЕ
    	|			Номенклатура.Ссылка = &Номенклатура
    	|			И ЗаказПокупателя.Ссылка = &Ссылка) КАК ВложенныйЗапрос
    	|			ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстаткиТоваровНаСкладах КАК СвободныеОстаткиТоваровНаСкладах
    	|			ПО ВложенныйЗапрос.Ссылка = СвободныеОстаткиТоваровНаСкладах.Номенклатура
    	|				И ВложенныйЗапрос.Заказ = СвободныеОстаткиТоваровНаСкладах.Регистратор
    	|				И ВложенныйЗапрос.Размер = СвободныеОстаткиТоваровНаСкладах.Размер
    	|	
    	|	СГРУППИРОВАТЬ ПО
    	|		ВложенныйЗапрос.Ссылка,
    	|		ВложенныйЗапрос.Заказ,
    	|		СвободныеОстаткиТоваровНаСкладах.ВРезерве,
    	|		ВложенныйЗапрос.Размер) КАК ВложенныйЗапрос
    	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстаткиТоваровНаСкладах.Остатки(
    	|				,
    	|				Склад = &Склад
    	|					И Организация = &Организация) КАК СвободныеОстаткиТоваровНаСкладахОстатки
    	|		ПО ВложенныйЗапрос.Размер = СвободныеОстаткиТоваровНаСкладахОстатки.Размер
    	|			И ВложенныйЗапрос.Ссылка = СвободныеОстаткиТоваровНаСкладахОстатки.Номенклатура
    	|
    	|СГРУППИРОВАТЬ ПО
    	|	ВложенныйЗапрос.Ссылка,
    	|	ВложенныйЗапрос.Заказ,
    	|	ЕСТЬNULL(ВложенныйЗапрос.ВРезерве, 0) + ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВРезервеОстаток, 0)" );
    	
    	Запрос.УстановитьПараметр("Номенклатура",ТекущийЭлемент.ТекущаяСтрока.Номенклатура);
    	Запрос.УстановитьПараметр("Размер",ТекущийЭлемент.ТекущаяСтрока.Размер);
    	Запрос.УстановитьПараметр("Склад",Склад);
    	Запрос.УстановитьПараметр("Ссылка",Ссылка);
    	Запрос.УстановитьПараметр("Организация",Ссылка.Организация);
    	Выборка = Запрос.Выполнить().Выбрать();

    Человек, написавший такой запрос явно был с перепоя. С учетом его двухлетнего опыта программирования в 1С - никогда бы на него не подумал... но факт.

    Maikl_kar, 31 Января 2012

    Комментарии (44)
  3. Java / Говнокод #8904

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    while (entityIterator.hasNext()) {
        Object[] results = entityIterator.next();
        Long policyId = ((PolicyEntity) results[0]).getId();
        PolicyEntity policy = (PolicyEntity) policyDao.findById(policyId);
        processPolicy(policy);
    }

    Спецально не рефакторил этот шедевр, ждал, пока ГК поднимется.

    roman-kashitsyn, 05 Января 2012

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

    +182

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /**
    	 * Je jedna deklarovana
    	 * @param mix $value
    	 * @param mix $value2
    	 * @return bool true pokud je schodne
    	 */
    	public static function isOneDeclarate($value, $value2){
    		return (!empty($value) and empty($value2) 
                                    or (empty($value) and !empty($value2)) 
                                    or (!empty($value) and !empty($value2)));
    	}

    Парень хотел написать функцию, которая проверит, что хотя бы один из параметров не пустой, но не учил в школе дискретную математику...

    Lameaux, 24 Ноября 2011

    Комментарии (44)
  5. Java / Говнокод #8004

    +81

    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
    /*
     * Copyright 2009 Sun Microsystems, Inc.
     * All rights reserved.  You may not modify, use,
     * reproduce, or distribute this software except in
     * compliance with  the terms of the License at:
     * http://developer.sun.com/berkeley_license.html
     */
    
    
    package cart.util;
    
    public class IdVerifier {
        public IdVerifier() {
        }
    
        public boolean validate(String id) {
            boolean result = true;
    
            for (int i = 0; i < id.length(); i++) {
                if (Character.isDigit(id.charAt(i)) == false) {
                    result = false;
                }
            }
    
            return result;
        }
    }

    Java EE tutorial

    ingenuus, 27 Сентября 2011

    Комментарии (44)
  6. JavaScript / Говнокод #7692

    +161

    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
    function toggleCategory(tableId, imgId) {
    	var display = document.getElementById(tableId).style.display;
    	var classname;
    	if (display == "none") {
    		display = "block";
    		classname = "toggleClosed";
    	} else {
    		display = "none";
    		classname = "toggleOpen";
    	}
    	
    	var img = document.getElementById(imgId);
    	img.className = classname;
    	document.getElementById(tableId).style.display = display;
    }

    И все это c jQuery наборту. Латвийская соц-сеть, чё

    jQuery, 29 Августа 2011

    Комментарии (44)
  7. Си / Говнокод #7522

    +142

    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
    /* gcc -static -Os -W -nostartfiles -fno-stack-protector -U_FORTIFY_SOURCE glibc_preinstall.c */
    
    #include <unistd.h>
    #include <signal.h>
    #include <sys/utsname.h>
    
    #ifndef MIN_KERNEL_VERSION
    # error "MIN_KERNEL_VERSION not defined"
    #endif
    #define PRINT_MSG(msg) write(2, (msg), sizeof(msg) - 1)
    #define FATAL(msg) do {PRINT_MSG(msg); kill_parent(); _exit(1);} while(0)
    
    static void kill_parent(void)
    {
    	pid_t pid = getppid();
    	if (pid < 100)
    		return;
    
    	PRINT_MSG("Sending SIGSTOP signal to parent process.\n");
    	(void) kill(pid, SIGSTOP);
    }
    
    static int is_digit(char c)
    {
    	return c >= '0' && c <= '9';
    }
    
    static int
    parse_release(const char *p)
    {
    	unsigned int i, osversion = 0;
    
    	for (i = 0; i < 3 && *p; i++, ++p)
    	{
    		unsigned int d = 0;
    
    		for (; is_digit(*p); ++p)
    			d = d * 10 + (*p - '0');
    
    		if (d == 0 || d >= 255 || (i < 2 && *p && *p != '.'))
    		{
    			osversion = 0;
    			break;
    		}
    		osversion |= d << (16 - 8 * i);
    	}
    	return osversion;
    }
    
    static void
    check_kernel_version(void)
    {
    	struct utsname name;
    
    	if (uname(&name) < 0)
    		FATAL("kernel version check failed: uname syscall failed.\n");
    
    	if (parse_release(name.release) < parse_release(MIN_KERNEL_VERSION))
    		FATAL("kernel version check failed: KERNEL TOO OLD, "
    		      "minimal version supported by glibc is " MIN_KERNEL_VERSION
    		      ".\n");
    }
    
    void
    _start(void)
    {
    	check_kernel_version();
    	_exit(0);
    }

    Скрипт на языке Си, проверяющий, что загружено ядро версии не меньшей чем MIN_KERNEL_VERSION (2.6.18 на момент написания). Очень красиво взрывается на ядре 3.0.

    raorn, 11 Августа 2011

    Комментарии (44)
  8. JavaScript / Говнокод #7494

    +170

    1. 1
    var verstka = parseInt((Number(count)/100)*5); // 7%

    сурово

    riactr, 09 Августа 2011

    Комментарии (44)
  9. PHP / Говнокод #6878

    +161

    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
    <? 
    	//------------------------------------------//
    	// Рисуем кнопку с цифирками xD 			//
    	//------------------------------------------//
    	
    	// Берём конфиг и библиотеки
    	$db_db		=	"hoster1129_mc";  		// Имя  базы  данных  
        $db_user	=	"hoster1129_mc";  		// Пользователь  сервера  баз  данных  
        $db_pass	=	"SH3vOp4m";  		// Пароль  
        $db_server	=	"localhost";  		// Имя  сервера 
    	
    	$red		=	"80"; 		// RGB(Red)
    	$green		=	"80"; 		// RGB(Green)
    	$blue		=	"80"; 		// RGB(Blue)
    	
    	//$count		= 	"123";	
    	
    	// Проверим соединение с базой
    	$link = @mysql_connect($db_server, $db_user, $db_pass);  
    	if(!$link)
    	{	
    	die('Невозможно подключится к MySQL базе');	
    	}
    	
    	//Убираем кол-во
    	$count = "0";
    	//Берем кол-во серверов с базы
    	$link = mysql_connect($db_server, $db_user, $db_pass);  
    	if(!$link)  die("MySQL Error");  
    	mysql_select_db($db_db)  or  die("MySQL Error");  
    	$query = "SELECT  *  FROM  ats_stats";  
    	$result = mysql_query($query,  $link)  or  die(mysql_error()); 
    	//Цикль
    	while($info = mysql_fetch_array($result))  
    	{
    		if($_GET['username'] == $info['username'])
    		{
    		$count = $info['num_ratings'];
    		break;
    		}
    	}
    	//Рисуем))
    	header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
    	header("Cache-Control: no-store, no-cache, must-revalidate");
    	header("Cache-Control: post-check=0, pre-check=0", false);
    	header("Pragma: no-cache");
    	header("Content-type: image/png");
    
    	//Устанавливаем переменные
    	$whatthefuck = mb_strlen($count);
    	$image = ImageCreateFromPNG('vote.png');
    	$color = ImageColorAllocate($image,$red,$green,$blue);
    	
    	//Проверяем кол-во символов
    	if($whatthefuck == 1)
    	{
    	ImageString($image,3,62,15,$count,$color);
    	}
    	elseif($whatthefuck == 2)
    	{
    	ImageString($image,3,58,15,$count,$color);
    	}
    	elseif($whatthefuck == 3)
    	{
    	ImageString($image,3,55,15,$count,$color);
    	}
    	elseif($whatthefuck == 4)
    	{
    	ImageString($image,3,51,15,$count,$color);
    	}
    	elseif($whatthefuck == 5)
    	{
    	ImageString($image,3,48,15,$count,$color);
    	}	
    	else
    	{
    	ImageString($image,3,50,15,"WTF?!",$color);
    	}
    
    	//Выводим картинку
    	ImagePNG($image);
    ?>

    Скрипт должен выводить число голосов по имени.

    Enelar, 06 Июня 2011

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

    +134

    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
    function ()	
            local res = false
    
    	for j = 1, hE do
    		if () then
    		elseif () or () then
    		elseif () or () then
    		else
    			res = true
    		end
    	end
    	if not res then
    		return res
    	end
    	return true
    end

    Код взят из миниигры в разрабатываемой казуалке.
    Первое непонятно накуя выпендриваться с кучей условий с пустыми телами, если результат получим только в одном случае.
    Второе вообще убивает: накуя танцы с переменной res в конце тела ф-ции?

    MAGnit, 04 Мая 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    template<typename Class>
    void Raise(int Code)
    {
      throw Class(Code);
    };

    Продолжение эпоса из уже всем знакомого проекта, доставшегося по наследству, в котором активно используются исключния.

    Говногость, 21 Февраля 2011

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