1. Java / Говнокод #2817

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private static byte[] getByteArrayFromInt(int number) {
    	ByteArrayOutputStream out = new ByteArrayOutputStream();
    	DataOutputStream o = new DataOutputStream(out);
    	try {
    		o.writeInt(number);
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    	return out.toByteArray();
    }

    Интересный способ переводить Int в массив байт )

    Logarithm, 18 Марта 2010

    Комментарии (6)
  2. Си / Говнокод #2816

    +137.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    for( unsigned int i = 0; i < strlen(str); i++)
    {
        if ( str[i] == '-')
        {
            str[i] = '\0';
            break;
        }
    }

    'strlen' в условии цикла - это вычисление инварианта в теле цикла.
    Вообще этот цикл реально можно заменить одним вызовом 'strchr'

    benderlog, 18 Марта 2010

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

    +81.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(condition) {
        function(false);
    } else {
        function(true);
    }

    danilissimus, 17 Марта 2010

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

    +86.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //#ifdef Slowpoke
        private static final int MILLIS = 1100;
        //#else
        private static final int MILLIS = 1000;
        //#endif

    Сколько миллисекунд в секунде?

    thePooh, 17 Марта 2010

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
        if (preg_match('/^mysql/', $string == 1)) {
            $dsn = $string;
        }
        ###
        ###
        ###
    ?>

    sultan, 17 Марта 2010

    Комментарии (7)
  6. Куча / Говнокод #2812

    +144

    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
    LOCALE: UTF-8
    LANGUAGE: RUSSIAN
    
    ОТКРТЫАЯ ЛИЦЕНЗИЯ С ОТСУТСТВИЕМ ГАРАНТИЙ.
    ЭТА ЛИЦЕНЗИЯ НЕДЕЙСТВИТЕЛЬНА ПРИ ПЕРЕВОДЕ НА ДРУГИЕ ЯЗЫКИ.
    
    
    
    ПРИЛОЖЕНИЕ QUOTER
    
    
    Это приложение предоставляется конечному пользователю КАК ЕСТЬ без каких либо
    гарантий. Автор(ы) приложения снимают с себя любую ответственность, включая
    ответственность за неполадки, вызвавшие материальные/духовные потери.
    
    Конечному потребителю ЗАПРЕЩАЕТСЯ продавать приложение/его модификации, без
    согласия автора(ов).
    Конченому потребителю ЗАПРЕЩАЕТСЯ выдавать себя за автора(ов) приложения.
    
    Конченый потребитель ИМЕЕТ ПРАВО модифицировать приложение как ему вздумается.

    файл LICENSE.TXT в одном говнопроэкте

    danilissimus, 17 Марта 2010

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

    +167.6

    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
    <?php
    function daybefore($j){
    $day = date('d');
    $month = date('m');
    $year = date('Y');
    for ($i=0; $i<$j; $i++) { 
    if ($day==1) {
        if ($month == 1) {
            $day = 31;
            $month = 12;
            $year = $year - 1;
        } else {
            $month = $month - 1; 
            switch ($month) {
                case 01:
                    $maxdays=31;
                    break;
                case 02:
                    $a = $year / 4;
                    $b = ceil($a);
                    if ($a==$b){                
                         $maxdays=29;
                    } else {
                          $maxdays=28;
                    }
                    break;
                case 03:
                    $maxdays=31;
                    break;
                case 04:
                    $maxdays=30;
                    break;
                case 05:
                    $maxdays=31;
                    break;
                case 06:
                    $maxdays=30;
                    break;
                case 07:
                    $maxdays=31;
                    break;
                case 08:
                    $maxdays=31;
                    break;
                case 09:
                    $maxdays=30;
                    break;
                case 10:
                    $maxdays=31;
                    break;
                case 11:
                    $maxdays=30;
                    break;
                case 12:
                    $maxdays=31;
                    break;
            }
            $day = $maxdays;
            $year = $year;
        }
    } else {
        $day = $day - 1;
        $month = $month;
        $year = $year;
    }}
    return "$year-$month-$day";
    }
    echo daybefore(3);
    ?>

    Отсюда:
    http://php.net/manual/en/function.date.php

    hdkeeper, 17 Марта 2010

    Комментарии (12)
  8. Куча / Говнокод #2810

    +124.8

    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
    varnamebegin // начало имени новой переменной
    a // имя новой переменной
    varnameend // конец имени новой переменной
    varvaluebegin // начало значения новой переменной
    newarray // новый массив
    varvalueend // конец значения новой переменной
    varcallbegin // начало имени вызываемой переменной
    a // имя вызываемой переменной
    varcallend // конец имени вызываемой переменной
    push // добавить элементы в массив
    lcobjectsbegin // начало области добавляемых элементов
    bg // начало значения элемента массива
    codedn // code — символ, d — префикс для цифр, n — спец-символ для цифры "0"
    end // конец значения элемента массива
    bg // начало значения элемента массива
    codedo // code — символ, d — префикс для цифр, n — спец-символ для цифры "1"
    end // конец значения элемента массива
    lcobjectsend // конец области добавляемых элементов
    functioninit // аналог ()

    Создание массива с содержимым [0, 1] на одном из эзотерических ЯП. Фишка в том, что убраны все знаки препинания, цифры и т.д., оставлены лишь прописные латинские буквы.
    Интересно, как на таком ЯП будет выглядеть полностью валидная проверка E-Mail (наподобии этой — ex-parrot.com/pdw/Mail-RFC822-Address.html) ?

    eval, 17 Марта 2010

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

    +144.6

    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
    public class Main {
        public static void main(String[] args) {
        	f0();//this is call of f0() from line 4
        	f0();//this is call of f0() from line 4
        }
    
        public static void f0(){
        	System.out.println("hi, I am f0");
        	Exception e = new Exception();
        	if(e.getStackTrace()[1].getLineNumber()==3){
        		f1();
        	} else if(e.getStackTrace()[1].getLineNumber()==4){
    			f2();
        	} 
        }
        
    	public static void f1(){
    		System.out.println("hi, I am f1");
    	}
    
    	public static void f2(){
    		System.out.println("hi, I am f2");
    	}
    }

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

    pcherkas, 17 Марта 2010

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

    +188.6

    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
    SELECT
    CONCAT('<td align=center><input type=Checkbox name=del[] value=', t1.id, '>') AS 'X'
    ,CONCAT('<td align=center>', t1.id) AS '\#'
    ,CONCAT('<td align=center><a href=index.php?func=$func&ptab=$ptab&pid=$pid&id=',  t1.id, '>', IF(t1.name<>'', t1.name, '<i>Pending...</i>'), '</a>') AS 'Transaction ID'
    ,CONCAT('<td><a href=index.php?func=user&id=',  t2.id, '>', CONCAT(t2.fname, ' ', t2.lname), '</a>') AS 'User'
    ,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>history</a>') AS 'Med'
    ,CONCAT('<td align=right>', t1.amt, ' ') AS 'Amount'
    ,CONCAT('<td align=center style=\"font-size: 10px;\" title=\"', t1.data_ord, '\">',  LEFT(t1.data_ord, 10)) AS 'Order date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_pay, LEFT(t1.data_pay, 10), '<b>Not paid</b>')) AS 'Pay date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_send, LEFT(t1.data_send, 10), '<b>Not sent</b>')) AS 'Send date'
    ,CONCAT('<td align=center><a href=index.php?func=items&ptab=$func&pid=',  t1.id, '>', sum(t3.quant), ' Items</a>') AS '# items'
    #,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>', count(t7.id), ' answ</a>') AS '# answ'
    ,CONCAT('<td align=center>', CASE WHEN (t1.sv_type=2) THEN \"Waiting\" WHEN (t1.sv_type=-2) THEN \"<font color=FF0000><b>Rejected</b></font>\" WHEN (t1.sv_type=-1) THEN \"<font color=FF0000>Declined</font>\" WHEN (data_send AND track_num2 <> '') THEN \"<b>Re-Done</b>\" WHEN (data_send) THEN \"<b>Done</b>\" WHEN (t1.sv_type=1) THEN \"<font color=008080>Ready to ship</font>\" WHEN (data_pay) THEN \"<font color=008000>Approved</font>\" WHEN (t1.err > 0) THEN \"<font color=FF0000>Failed</font>\" ELSE \"<font color=808080>Pending</font>\" END) AS 'Status'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.doctor) AS 'D'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.bonus) AS 'B'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.err) AS 'Err'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.sv_type) AS 'S#'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.pay) AS 'PM'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.partner) AS 'P'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  MID(t6.url, 8)) AS 'Shop'
    ,CONCAT('<tr><td colspan=19 style=\"font-size: 10px;\"><a target=\"_blank\" href=\"',  t1.referer, '\"><b>URL Referrer</b>: ', LEFT(t1.referer, 150), '</a><tr><td colspan=19 bgcolor=55555>') AS ''
    
    FROM $func t1
     и т.д.

    Такой вот sql-запрос с html разметкой. А вы говорите MVC :)

    awax, 17 Марта 2010

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