1. PHP / Говнокод #7007

    +163

    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
    function retPercByAct($num,$economy) { //50% discount => economy=0 => 15%
      $t='15/5 0-49,
      16/6 50-100,
      17/7 101-200,
      18/8 201-350,
      19/9 351-500,
      20/10 601-1000,
      21/11 1001-500000,';
      $t=explode(',',$t);
      foreach($t as $k=>$v) {
        $v=trim($v);
        list($perc,$nums)=explode(' ',$v);
        $nums=explode('-',$nums);
        if($nums[0]<=$num && $nums[1]>=$num) {
          $perc=explode('/',$perc);
          if(!$economy) $percR=$perc[0]; else $percR=$perc[1];
          break;
        }
      }
      return $percR;
    }

    Вот, встретилось в поддерживаемом мной проекте.

    segoddnja, 20 Июня 2011

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

    +158

    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
    $a=array(
    		'save'=>array(
    			'state'=>array('new'=>array(1, 1), 0=>array(0, 0), 1=>array(1, 1), 3=>array(1, 1), 4=>array(0, 0), 5=>array(0, 0), 6=>array(1, 1)),
    			'dest'=>1,
    		),
    		'save_and_back'=>array(
    			'state'=>array('new'=>array(1, 1), 0=>array(0, 0), 1=>array(1, 1), 3=>array(1, 1), 4=>array(0, 0), 5=>array(0, 0), 6=>array(1, 1)),
    			'dest'=>1,
    		),
    		'save_as_a_copy'=>array(
    			'state'=>array('new'=>array(0, 0), 0=>array(1, 1), 1=>array(1, 1), 3=>array(1, 1), 4=>array(1, 1), 5=>array(1, 1), 6=>array(1, 1)),
    			'dest'=>1,
    		),
    		'resend'=>array(
    			'state'=>array('new'=>array(0, 0), 0=>array(1, 1), 1=>array(1, 1), 3=>array(1, 1), 4=>array(1, 1), 5=>array(1, 1), 6=>array(1, 1)),
    			'dest'=>1,
    		),
    		'send'=>array(
    			'state'=>array('new'=>array(0, 1), 0=>array(0, 0), 1=>array(0, 1), 3=>array(0, 1), 4=>array(0, 0), 5=>array(0, 1), 6=>array(0, 1)),
    			'dest'=>array(1,3),
    		),
    		'testsend'=>array(
    			'state'=>array('new'=>array(0, 1), 0=>array(0, 0), 1=>array(0, 1), 3=>array(0, 1), 4=>array(0, 0), 5=>array(0, 1), 6=>array(0, 1)),
    			'dest'=>array(1,3),
    		),
    		'offer'=>array(
    			'state'=>array('new'=>array(1, 0), 0=>array(0, 0), 1=>array(1, 0), 3=>array(0, 0), 4=>array(0, 0), 5=>array(0, 0), 6=>array(1, 0)),
    			'dest'=>5,
    		),
    		'reject'=>array(
    			'state'=>array('new'=>array(0, 0), 0=>array(0, 0), 1=>array(0, 0), 3=>array(0, 0), 4=>array(0, 0), 5=>array(0, 1), 6=>array(0, 0)),
    			'dest'=>6,
    		),
    		'cancel'=>array(
    			'state'=>array('new'=>array(0, 0), 0=>array(0, 0), 1=>array(1, 1), 3=>array(0, 0), 4=>array(0, 0), 5=>array(0, 0), 6=>array(0, 0)),
    			'dest'=>1,
    		),
    	);

    Без комментариев.

    pro_co_ru, 20 Июня 2011

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

    +160

    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
    public function getList($sort) {
            if ($sort == 'id')
                $select = $this->select()->order('id ASC');            
            if ($sort == 'id2')
                $select = $this->select()->order('id DESC');
            if ($sort == 'username')
                $select = $this->select()->order('username ASC');
            if ($sort == 'username2')
                $select = $this->select()->order('username DESC');
            if ($sort == 'firstname')
                $select = $this->select()->order('firstname ASC');
            if ($sort == 'firstname2')
                $select = $this->select()->order('firstname DESC');
            if ($sort == 'lastname')
                $select = $this->select()->order('lastname ASC');
            if ($sort == 'lastname2')
                $select = $this->select()->order('lastname DESC');
            if ($sort == 'lastdate')
                $select = $this->select()->order('lastdate ASC');
            if ($sort == 'lastdate2')
                $select = $this->select()->order('lastdate DESC');
            if ($sort == 'regdate')
                $select = $this->select()->order('regdate ASC');
            if ($sort == 'regdate2')
                $select = $this->select()->order('regdate DESC');
            if ($sort == 'city')
                $select = $this->select()->order('city ASC');
            if ($sort == 'city2')
                $select = $this->select()->order('city DESC');
            if ($sort == 'vote')
                $select = $this->select()->order('vote ASC');
            if ($sort == 'vote2')
                $select = $this->select()->order('vote DESC');
            $result = $this->fetchAll($select);
            return $result;
        }

    Кусочек кода, написанный в классической манере "if-else" для Zend Framework

    coderov, 20 Июня 2011

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

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    private static bool? GetBoolFromObject(object o)
            {
                return string.IsNullOrEmpty(o.ToString()) ? (bool?)null : (bool)o;
            }

    и как такое можно только писать...

    testguru, 20 Июня 2011

    Комментарии (39)
  5. Assembler / Говнокод #7003

    +158

    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
    CODE:00403FB0 proc unk2_Reset
    CODE:00403FB0         mov     [ds:sizeMemUnk_2_1], 0
    CODE:00403FBA         mov     [ds:sizeMemUnk_2_2], 0
    CODE:00403FC4         xor     eax, eax
    CODE:00403FC6         mov     [ds:ddUnk2_42AB0C], eax
    CODE:00403FCB         mov     [ds:ddUnk2_42AB10], eax
    CODE:00403FD0         mov     [ds:ddUnk2_42AB14], eax
    CODE:00403FD5         mov     [ds:dbUnk2_42AB5E], al
    CODE:00403FDA         xor     eax, eax
    CODE:00403FDC         mov     [ds:ddUnk2_42AB18], eax
    CODE:00403FE1         mov     [ds:ddUnk2_42AB1C], eax
    CODE:00403FE6         xor     eax, eax
    CODE:00403FE8         mov     [ds:ddUnk2_42AB20], eax
    CODE:00403FED         mov     [ds:ddUnk2_42AB24], eax
    CODE:00403FF2         mov     eax, [ds:ddInit_6]      ; eax = 6
    CODE:00403FF7         sub     eax, 2
    CODE:00403FFA         mov     [ds:ddUnk2_42AB2C], eax
    CODE:00403FFF         mov     eax, 12000h
    CODE:00404004         mov     [ds:ddUnk2_42AB28], eax
    CODE:00404009         cmp     eax, 2008h
    CODE:0040400E         jb      short loc_404015
    CODE:00404010         mov     eax, 2008h
    CODE:00404015 loc_404015:
    CODE:00404015         sub     eax, 8
    CODE:00404018         mov     [ds:ddUnk2_42AB30], eax
    CODE:0040401D         jmp     loc_41C374
    CODE:0040401D endp

    Нашел настоящую жесть. Особенно манипуляции с константами позабавили. Не ожидал такого от проф. программистов.

    DemonId7, 20 Июня 2011

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

    +131

    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
    (defparameter n 2)
    (setf middle (make-array 2 :initial-element 0))
    (defparameter v 7)
    (setf tr (make-array `(,(+ 1 n) ,n) :initial-element 4))
    (setf ftr (make-array 3 :initial-element 1))
    (defun pow (x n)
    (cond((= n 0) 1)((= n 1) x)(T (* x (pow x (- n 1))))))
    (defun f1 (x y)
    (+ (* (pow v 2) (pow x 2))
    (* (/ v (+ v 1)) x)
    (* 15 (+ v 1) (pow y 2))
    (* -1 2 v y) (* 4 v)))
    
    (defun sigma1 (a)
    (* a (/ (+ (sqrt (+ n 1)) (- n 1))
    (* n (sqrt 2))) ))
    
    (defun sigma2 (a)
    (* a (/ (+ (sqrt (+ n 1)) -1)
    (* n (sqrt 2))) ))
    
    (defun setp (a)
    (loop for i from 1 to n do
    (loop for j from 0 to (- n 1) do
    (cond
    ((= (- i 1) j) (setf (aref tr i j) (+ (aref tr 0 0) (sigma2 a))))
    (T (setf (aref tr i j) (+ (aref tr 0 1) (sigma1 a))))))))
    
    (defun evalfun ()
    (loop for i from 0 to n do
    (setf (aref ftr i) (f1 (aref tr i '0) (aref tr i '1)))
    (format t "The functions in dot ~$:~$~$" `(,(aref tr i '0) ,(aref tr i '1)) (aref ftr i) #\newline))
    (setf ftr (sort ftr #'<)))
    
    (defun midp()
    (loop for i from 0 to n do
    (cond
    ((= (aref ftr n) (f1 (aref tr i '0) (aref tr i '1)))
    (setq tp i))))
    
    (setf middle (make-array n :initial-element 0))
    (loop for i from 0 to n do
    (cond
    ((/= i tp)
    (setf (aref middle 0) (+ (aref middle 0) (aref tr i 0)))
    (setf (aref middle 1) (+ (aref middle 1) (aref tr i 1))))))
    (setf (aref middle 1) (/ (aref middle 1) 2))
    (setf (aref middle 0) (/ (aref middle 0) 2))
    (format t "The weight center in ~$,~$" (aref middle 0) (aref middle 0))
    (princ #\newline))
    
    (defun newp()
    (setf (aref tr tp 0) (- (aref middle 0) (aref tr tp 0)))
    (setf (aref tr tp 1) (- (aref middle 1) (aref tr tp 1))))
    (defun prpolinom()
    (format t "Polinom has this dots:~$" #\newline)
    (loop for i to n do
    (loop for j to (- n 1) do
    (format t "|~$|" (aref tr i j)))
    (princ #\newline)))
    
    (setq c 1)
    (defun mloop(a)
    (setp a)
    (defun subloop()
    (setq c (+ c 1))
    (setf tmiddle (make-array n :initial-element 0))
    (loop for i to (- n 1) do
    (setf (aref tmiddle i) (aref middle i)))
    (evalfun)
    (midp)
    (newp)
    (prpolinom)
    
    (cond
    ((and (= (aref tmiddle 0) (aref middle 0)) (= (aref tmiddle 1) (aref middle 1)))(mloop (/ a 2)))
    ((> a 0.01) (subloop) (format t "Iteration ~$~$" c #\newline))))
    (subloop))
    (mloop 2)

    симплекс метод на Common Lisp=)

    zura, 20 Июня 2011

    Комментарии (24)
  7. Pascal / Говнокод #7001

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    uses crt;
    var s:integer;
    begin
    readln(s);
    writeln(ord(s[0]));
    readln;
    end.

    dos, 20 Июня 2011

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    int getGKnumber()
    {
       return 7000;
    }

    просто гет :)

    absolut, 19 Июня 2011

    Комментарии (87)
  9. C# / Говнокод #6999

    +132

    1. 1
    for(dynamic o=0; o!=237; o++){

    Ох, что мне досталось поддерживать... dynamic почти везде... :( Кто это написал??? Хочу этого человека взять и @#$%^&... :(

    Говногость, 19 Июня 2011

    Комментарии (26)
  10. C++ / Говнокод #6998

    +153

    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
    if(FirstDot == 0 && LastDot == 0)
    			NoDots = true;
    		else
    			if(FirstDot != 0 && LastDot == 0)
    				throw gcnew System::Exception("Левый коррелятор начал работу, правый - нет.");
    			else
    				if(FirstDot == 0 && LastDot != 0)
    					throw gcnew System::Exception("Правый коррелятор начал работу, левый - нет.");
    				else
    					if(FirstDot != 0 && LastDot != 0)
    						if(FirstDot == LastDot)
    							NoDots = true;
    						else
    							NoDots = false;
    					else
    						throw gcnew System::Exception("WTF?");

    Нужно определить, есть на графике точки или нет. Человек решил подстраховаться и рассмотреть все возможные (и невозможные) варианты.

    ScumCoder, 19 Июня 2011

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