1. SQL / Говнокод #3250

    −855

    1. 1
    2. 2
    3. 3
    4. 4
    where 
      DEP_ID = idDep and  ID = idOrd and  
      DEP_ID = idDep and  ID = idOrd and  
      DEP_ID = idDep and  ID = idOrd

    gorsash, 17 Мая 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    if (!$defaults && !is_null($defaults))
    {
      $this->form->setDefaults($defaults->toArray());
    }

    Все три строчки, зато какие! :)

    kovel, 17 Мая 2010

    Комментарии (9)
  3. VisualBasic / Говнокод #3248

    −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
    'Поиск с использованием Mid()
    '-------
    Dim B
    'переменная Б - номер символа
    Dim foundn
    ' номер найденной строки
    Dim A As String
    'A - текст в котором ищем
    Dim find As String
    '--------
    A="this is text ! ololo 12345 abcd"
    Call found("ololo",1)
     
    Function found(Text As String, start)
    B = start
    find = Text
    Do While Not (Mid(A, B, Len(find)) = find)
    B = B + 1
    If B > 1000000 Then
    MsgBox ("overfloow")
    'если номер символа > 10000000 - остановка процесса
    End
    End If
    Loop
    foundn = B
    End Function

    Поиск в string

    hromjo, 17 Мая 2010

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

    +166

    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
    for ( ; $k <= 15; ++$k ) {
    	$map[$k] = $mx2[$k];
    
    	// A
    	if ( $map[$k] == 10 && $k == 1 || $map[$k] == 10 && $k == 2 || $map[$k] == 10 && $k == 3 ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// B
    	if ( $map[$k] == $map[$k-1] ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// C
    	if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// B
    	if ( $map[$k] == $map[$k-1] ) {
    		$map[$k] = rand( 1, 9 );
    	}
    	// C
    	if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// B
    	if ( $map[$k] == $map[$k-1] ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// C
    	if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// B
    	if ( $map[$k] == $map[$k-1] ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// C
    	if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// B
    	if ( $map[$k] == $map[$k-1] ) {
    		$map[$k] = rand( 1, 9 );
    	}
    
    	// C
    	if ( $map[$k] == $map[$k-2] && ( $k == 3 || $k == 6 || $k == 9 || $k == 12 || $k == 15 ) ) {
    		$map[$k] = rand( 1, 9 );
    	}
    }

    $mx2 - массив из 15 элементов(элементы имеют значение от 1 до 10, расположены рандомно). Генерируется таким образом новый массив $map, в котором не могут быть два одинаковых элемента подряд(а так же текущий и пред-предыдущий не должны быть равны). Как бы сделал типичный программист? Зафигачил бы в цикле цикл, в которм бы проверял равенство текущего элемента и предыдущего. А вот так сделал мудак со стажем. Не удивительно, что периодически всё работает не так как надо...

    azzz, 17 Мая 2010

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

    +149

    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
    template<typename T>void mescolare(T array1[], T array2[])
    {
    int size_array = sizeof(array1)/sizeof(array1[0])-1;
    srand(time(0));
    int fg;
    int *zer=new int[size_array];	
    for(int d=0;d<=size_array;d++)
    	{
    		fg = rand()%size_array;
    		for(int v=0;v<=size_array;v++)
    		{
    			if(zer[v]==fg){
    				zer[v]=fg;
    				fg = rand()%size_array;
    			}else{
    				zer[v]=fg;
    				break;
    			}
    		}
    		array2[d]=array1[fg];
    	}
    }

    А это мы перемешивам элементы массива!

    hromjo, 17 Мая 2010

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

    +112

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function detectSourceindex(aobject){
        for (i=0; i<tabobjlinks.length; i++){
        if (aobject==tabobjlinks[i]){
        tabsourceindex=i //source index of tab bar relative to other tabs
        break
        }
        }
        }

    Челы позиционируют себя как супер пупер команда разработчиков

    Vasiliy, 17 Мая 2010

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

    +79

    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
    public String FormatDocumentNumber(String docNum)
        {
            int len = docNum.length();
            int lenDiff = len - Integer.toString(this.document_num).length();
            char[] arr = docNum.toCharArray();
            char[] number = Integer.toString(this.document_num).toCharArray();
            
            for(int i=0; i<len; i++)
            {
                    arr[i] = '0';
            }
    
            for(int i=0; i<number.length; i++ )
            {
                arr[lenDiff+i] = number[i];
            }
    
            StringBuffer sb = new StringBuffer();
            for(int i=0; i<len; i++)
            {
                sb.append(arr[i]);
            }
    
            return sb.toString();
        }

    Как сделать красивую функцию, которая формирует строку определенной длины с числом с ведущими нулями?

    nolka4, 17 Мая 2010

    Комментарии (27)
  8. C# / Говнокод #3243

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public bool Inverse(bool value){
       if(value.ToString().Length == 4)
          return false;
       else return true;
    }

    было дело...

    tazakara, 17 Мая 2010

    Комментарии (5)
  9. bash / Говнокод #3242

    −136

    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
    #!/bin/bash
    case $1 in 
    	u|use)
    		case $2 in 
    			e) $EDITOR /etc/portage/package.use
    			;;
    			s) grep -n --color "$3" /etc/portage/package.use
    			;;
    			d) 
    			if echo "$3" | grep -q -e "[1-9]"
    			then
    			DELVAR="`echo $3 $4 $5 $6 $7 $8 $9 | sed 's/ /\n/g'`"
    			echo "Do you want delete next line(s):
    `echo "$DELVAR" | sed 's/$/!d/g' | xargs -n 1 | while read line ; do
    	sed "$line" /etc/portage/package.use -i
    done`			 
    Yes/No?"
    			read "answer"
    			case "$answer" in 
    			y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
    	sed "$yesno" /etc/portage/package.use -i
    done
    ;;
    esac
    		else
    			DELVAR="`grep -n --color "$3" /etc/portage/package.use | cut -d":" -f1`"
    			echo "Do you want delete next line(s):
    `grep -n --color "$3" /etc/portage/package.use`
    Yes/No?"
    			read "answer"
    			case "$answer" in 
    			y|yes) echo "$DELVAR" | sed 's/$/d/g' | xargs -n 1 | while read yesno ; do
    	sed "$yesno" /etc/portage/package.use -i
    done
    			;;
    			esac
    			fi
    			;;
    			*) echo "$2 $3 $4 $5 $6 $7 $8 $9" >> /etc/portage/package.use
    			;;
    		esac
    	;;
    	i) euses $3
    	;;
    	s) eix "$3"
    	;;
    	sync) sudo layman --sync-all ; emerge --sync ; eix-update
    	;;
    	U) exec emerge -vauND world
    	;;
    	i) exec emerge -va "$2 $3 $4 $5 $6 $7 $8 $9"
    	;;
    	mkconf) sudoedit /etc/make.conf
    	;;
    	*|-h|--help) echo "Использование: pkg [ключ] [параметры ключа]
    	u [USE] - операции с USE-флагами в файле /etc/portage/package.use
    		e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
    		s - поиск в файле grep'ом
    		d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
    		i - просмотр информации о флагах (с помощью euses) 
    		* - все иные значения будут записаны в файл
    	k [KEYWORDS] - операции с keywords-масками в файле /etc/portage/package.keywords
    		e - открыть файл в редакторе из '\$EDITOR' ("$EDITOR")
    		s - поиск в файле grep'ом
    		d - удаление строк из файла (в качестве параметра принимаются как номера строк, так и название пакета/флага)
    		* - все иные значения будут записаны в файл
    	i - установка пакета (emerge -av)
    	s - поиск по базе пакетов (с помощью eix)
    	sync - синхронизация баз layman, emerge и запуск eix-update
    	U - обновление системы (emerge -vauND world)
    	mkconf - открыть для редактирования файл /etc/make.conf (используя sudoedit)"
    	;;
    esac

    Нашел свой старый код.. Когда-то от нечего делать пытался написать некую обёртку ко всяким джентовским утилитам. До конца так и не дописал, были некоторые проблемы с кодом, которые мне решать было лень. Но сейчас залез в тот код и ужаснулся..
    P.S. Файл немного урезан от оригинала, т.к. те же действия повторяются для разных файлов.

    Iliander, 16 Мая 2010

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    # массив вывода BB-кодов
      $BBcode = array(
      "SIZE" => "<select class='nc_bbcode_bar_size' onChange=\"insert_bbcode('".$winID."','".$formID."','".$textareaID."', '[SIZE=' + this.value + ']', '[/SIZE]'); this.selectedIndex=0;\"  name='bb_fontsize' title='".NETCAT_BBCODE_SIZE."' ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_SIZE."');\"" : "").">\r\n<option value=''>-- ".NETCAT_BBCODE_SIZE_DEF." --\r\n<option value='8'>8px\r\n<option value='10'>10px\r\n<option value='12'>12px\r\n<option value='14'>14px\r\n<option value='16'>16px\r\n<option value='18'>18px\r\n<option value='20'>20px\r\n<option value='22'>22px\r\n<option value='24'>24px\r\n</select>\r\n",
      "COLOR" => "<a href='#' onClick=\"show_color_buttons('".$textareaID."'); return false;\" id='nc_bbcode_color_button_".$textareaID."' ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_COLOR."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_color.gif' alt='".NETCAT_BBCODE_COLOR."' class='nc_bbcode_wicon'></a>\r\n",
      "SMILE" => "<a href='#' onClick=\"show_smile_buttons('".$textareaID."'); return false;\" id='nc_bbcode_smile_button_".$textareaID."' ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_SMILE."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_smile.gif' alt='".NETCAT_BBCODE_SMILE."' class='nc_bbcode_wicon'></a>\r\n",
      "B" => "<a href='#' onClick=\"insert_bbcode('".$winID."','".$formID."','".$textareaID."','[B]','[/B]'); return false;\" ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_B."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_bold.gif' alt='".NETCAT_BBCODE_B."' class='nc_bbcode_icon'></a>\r\n",
      // ... ещё 8 подобных строк ...
      "CUT" => "<a href='#' onClick=\"insert_bbcode('".$winID."','".$formID."','".$textareaID."','[CUT=\'".NETCAT_BBCODE_CUT_MORE."\']','[/CUT]'); return false;\" ".($help ? "onMouseOver=\"show_bbcode_tips('".$winID."','".$formID."','".$textareaID."','".NETCAT_BBCODE_HELP_CUT."');\"" : "")."><img src='".$SUB_FOLDER."/images/i_cut.gif' alt='".NETCAT_BBCODE_CUT."' class='nc_bbcode_icon'></a>\r\n");

    Нет, это не Битрикс, это хуже. Зовётся сие чудо NetCat. Моё личное впечатление от CMSки - ТЗ составлял кто-то весьма неглупый, потому что пользоваться довольно удобно и в концепцию заложены прикольные идеи, но вот код писать посадили младшекурсников за экзамен автоматом. Без переписывания половины кода будущего у неё нет. Уже на PHP 5.3 или на MySQL старше 5.0 она отказывается работать. И тем не менее всё больше хостеров гордо пишут на своих сайтах, что поддерживают её.

    telnet, 16 Мая 2010

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