1. JavaScript / Говнокод #3400

    +159

    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
    function countInt(int32)
    {
    	var n = int32;
    	if (n == 0) n = 1;
    	n = Math.abs(n);
    	var len = 0;
    	while (n > 0)
    	{
        	len++;
        	n = n / 10;
    		n = parseInt(n); 
    	}
    	return len;
    }
    function zeroAdder(int32)
    {
    	var str = '';
    	if (countInt(int32) == 1) str = '0';
    	str = str + int32;
    	return str;	
    }
    function pasteDT()
    {
    	d = new Date();
    	$('#element_4_1').attr('value',zeroAdder(d.getDate()));
    	$('#element_4_2').attr('value',zeroAdder(d.getMonth()+1));
    	$('#element_4_3').attr('value',zeroAdder(d.getFullYear()));
    	$('#element_5_1').attr('value',zeroAdder(d.getHours()));
    	$('#element_5_2').attr('value',zeroAdder(d.getMinutes()));
    	
    }

    Короче код для заполнения полей формы датой и временем.
    Функция countInt - исчисляет количество цифр в целом числе, даже в отрицательном.
    Функция zeroAdder - добавляет 0, если допустим первое число (1). Преобразовывает его в строку '01'.
    Как вы увидели, я использую jQuery, хотя Prototype как-то удобнее.

    increazon, 05 Июня 2010

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

    +170

    1. 1
    2. 2
    require_once('configure.php'); 
    require('configure.php');

    надо быть _увереным_ в своем коде

    sogekoder, 05 Июня 2010

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    $res = $db->loadResult();
    if($res); else return false;
    if($res!=$user->id) return false;
    return true;

    vsu, 04 Июня 2010

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

    +112

    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
    public static string ConvertBase64ToString(string b64)
            {
                string Value = b64;
                if (Value != null && Value.Length > 0)
                {
                    System.Text.ASCIIEncoding encoder = new System.Text.ASCIIEncoding();
                    System.Text.Decoder decoder = encoder.GetDecoder();
                    byte[] bytes = Convert.FromBase64String(Value);
                    int charCount = decoder.GetCharCount(bytes, 0, bytes.Length);
                    char[] chars = new char[charCount];
                    decoder.GetChars(bytes, 0, bytes.Length, chars, 0);
                    string results = new String(chars);
    
                    return results;
                }
                return string.Empty;
            }

    не говоря уже про локальную переменную Value, весь блок заменяется на
    return System.Text.ASCIIEncoding.ASCII.GetStrin g(Convert.FromBase64String(Value));

    eval_2009, 04 Июня 2010

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

    +180

    1. 1
    /^[a|b|c|d|e|f|g|h|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|@|\.|-]*$/gim

    Проверка валидности E-Mail от местного умельца.

    eval, 04 Июня 2010

    Комментарии (12)
  6. Java / Говнокод #3395

    +74

    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
    private void StreamToBytes()throws Exception
        {
            int i;
            InputStream in=getStream();
            ArrayList<Integer> byt=new ArrayList<Integer>();
            while((i=in.read())!=-1)
            {
                byt.add(i);
            }
            in.close();
            b=new byte[byt.size()];
            for(int j=0;j<b.length;j++)
            {
                b[j]=byt.get(j).byteValue();
            }
        }

    хуита, 04 Июня 2010

    Комментарии (21)
  7. Ruby / Говнокод #3394

    −92

    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
    def get_next_line(max_level, current_level, current_line_items)
            next_line_items = []
            result_string = ''
    
            if current_level == 1
                    next_line_items.push(1)
                    result_string = "1\n"
            else
                    current_line_number = false
                    current_line_number_count = 0
                    current_index = 0
    
                    current_line_items.each do |line_number|
                            if current_index == 0
                                    current_line_number = line_number
                                    current_line_number_count = 1
                            else
                                    if line_number == current_line_number
                                            current_line_number_count = current_line_number_count + 1
                                    else
                                            next_line_items.push(current_line_number_count)
                                            next_line_items.push(current_line_number)
    
                                            current_line_number_count = 1
                                            current_line_number = line_number
                                    end
                            end
    
                            if current_index >= current_line_items.length - 1
                                    next_line_items.push(current_line_number_count)
                                    next_line_items.push(current_line_number)
                            end
    
                            current_index = current_index + 1
                    end
    
                    result_string = next_line_items.join(' ') + "\n"
            end
    
            if current_level < max_level
                    result_string = result_string + get_next_line(max_level, current_level + 1, next_line_items).to_s
            end
    
            # return result
            result_string
    end
    
    puts 'Input max level:'
    level = gets
    
    puts ''
    puts get_next_line(level.to_i, 1, [])

    реальное тестовое задание кандитата.
    задача - вывести несколько членов последовательности
    1
    11
    21
    1211
    ....

    malleus, 04 Июня 2010

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

    +158

    1. 1
    2. 2
    3. 3
    if ($('#block').is(':hidden')) {
    $('#block').toggle();
    }

    eval, 04 Июня 2010

    Комментарии (22)
  9. Си / Говнокод #3392

    +135

    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
    void init(void)
    {
    	int i,j;
    
    	setup();
    	if (!fork())
    		_exit(execve("/bin/update",NULL,NULL));
    	(void) open("/dev/tty0",O_RDWR,0);
    	(void) dup(0);
    	(void) dup(0);
    	printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS,
    		NR_BUFFERS*BLOCK_SIZE);
    	printf(" Ok.\n\r");
    	if ((i=fork())<0)
    		printf("Fork failed in init\r\n");
    	else if (!i) {
    		close(0);close(1);close(2);
    		setsid();
    		(void) open("/dev/tty0",O_RDWR,0);
    		(void) dup(0);
    		(void) dup(0);
    		_exit(execve("/bin/sh",argv,envp));
    	}
    	j=wait(&i);
    	printf("child %d died with code %04x\n",j,i);
    	sync();
    	_exit(0);	/* NOTE! _exit, not exit() */
    }

    Говно, вошедшее в историю.

    avaaron, 03 Июня 2010

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private static final double[][][] charsets = {{
      {1, 2, 3, 4},
     // 30 lines of a 3-dimentional array (4x9x3) declaration skipped
    }}
    
    // Later on
    double dx = charsets[order[n[0]][i - 1]][n[i]][j];

    Ну что тут еще скажешь... Legacy code forever!

    Koshiku, 03 Июня 2010

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