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

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

    +24

    1. 1
    masko xor_eq mask;

    А вообще жаль, что эту дельфитню включили в стандарт.

    HaskellGovno, 20 Августа 2012

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

    +75

    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
    public function fromRimToDec($str) {
        $i = 1;
        $ii = 2;
        $iii = 3;
        $iv = 4;
        $v = 5;
        $vi = 6;
        $vii = 7;
        $viii = 8;
        $ix = 9;
        $x = 10;
        return $$str;
    }
    
    public function fromDecToRim($str) {
        $RimDigit = array(1 => 'i', 4 => 'iv', 5 => 'v', 9 => 'ix', 10 => 'x');
        $result = '';
        if ($str <= 3) {
            for ($i = 0; $i < $str; $i++) {
                $result = $result.$RimDigit[1];
            }
        } else if ($str > 5 && $str <= 8) {
            $result = $RimDigit[5];
            for ($i = 5; $i < $str; $i++) {
                $result = $result.$RimDigit[1];
            }
        } else {
            $result = $RimDigit[$str];
        }
        return $result;
    }

    Две феерически говёных взаимнообратных функции которые используются в супер функционале чьей-то самописной цмс для автоматического преобразования нумерованных списков с римскими\арабскими цифрами. (Да да, в этой цмс списки с римскими цифрами ограничены по длине десятью итемами, а обычные списки обрабатываются отдельно.) Вся алгебра непозиционных систем счисления меркнет в сравнении.

    vistefan, 19 Июля 2012

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

    +117

    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
    public class Foo { 
     public Foo() {
      System.out.println("constructing foo: " + this);
      throw new RuntimeException();
     }
     public void doEvil() {
      System.out.println("Evil!Evil!Evil");
     }
    }
    
    public class MyFoo extends Foo {
     public static Foo x;
     @Override
     protected void finalize() throws Throwable {
      x = this;
     } 
    }
    
    try {
     Foo x = new MyFoo();
    } catch(Exception e) {
     System.out.println(""+e);
    }
    System.gc();
    System.runFinalization();
    System.out.println("MyFoo instance: " + MyFoo.x);
    MyFoo.x.doEvil();

    Вот так бесстрашные хакеры получают доступ к методу экземпляра объекта, конструктор которого выбрасывает исключение, а потом жалуются, что, мол, Java - решето.

    А теперь вопрос на засыпку: как сделать то же самое, не используя finalize и gc?

    someone, 12 Июля 2012

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

    +56

    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
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    <html>
    <head>
    <style>
       body{
        background-color: #3366CC; /* Цвет фона веб-страницы */
       }
    </style>
    </head>
    <body>
    <?php
    	/*error_reporting(E_ALL);*/
    	class Mirror{
    		public $sizeX;
    		public $sizeY;
    		public $filenameI;
    		public $filenameO;
    		public $red;
    		public $green;
    		public $blue;
    		public $alpha;
    		function __construct($f){
    			$this->filenameI=$f.".png";
    			$this->filenameO=$f."2.png";
    			$size=getimagesize($this->filenameI);
    			$this->sizeX=$size[0];
    			$this->sizeY=$size[1];
    		}
    		function saveImg(){
    			if(!file_exists($this->filenameO)){
    				$xx=$this->sizeX;
    				$yy=($this->sizeY)*2;
    				$im = imagecreatetruecolor($xx, $yy);
    				imageAlphaBlending($im, false);
    				imageSaveAlpha($im, true);
    				for($x=0;$x<$xx;$x++){
    					for($y=0;$y<$yy;$y++){
    						$r=$this->red[$x][$y];
    						$g=$this->green[$x][$y];
    						$b=$this->blue[$x][$y];
    						$alph=$this->alpha[$x][$y];
    						$color=ImageColorAllocateAlpha($im, $r, $g, $b, $alph);
    						imagesetpixel($im, $x, $y, $color);
    					}
    				}
    				imagepng($im, $this->filenameO);
    				imagedestroy($im);
    			}
    			echo "<img src=\"".$this->filenameI."\" /><hr>\n";
    			echo "<img src=\"".$this->filenameO."\" /><br>\n";
    		}
    		function loadImg(){
    			$im = imagecreatefrompng($this->filenameI);
    			for($x=0;$x<$this->sizeX;$x++){
    				for($y=0;$y<$this->sizeY;$y++){
    					$rgb = imagecolorat($im, $x, $y);
    					$color=imagecolorsforindex($im, $rgb);
    					$this->red[$x][$y]=$color['red'];
    					$this->green[$x][$y]=$color['green'];
    					$this->blue[$x][$y]=$color['blue'];
    					$this->alpha[$x][$y]=$color['alpha'];
    				}
    			}
    			imagedestroy($im);
    		}
    		function createMirror(){
    			if(!file_exists($this->filenameO)){
    				$yy=($this->sizeY*2);
    				for($x=0;$x<$this->sizeX;$x++){
    					$alph=0;
    					for($y=$this->sizeY;$y<$yy;$y++){
    						if($alph<126){
    							$alph++;
    						}
    						$this->red[$x][$y]=$this->red[$x][$this->sizeY-($y-$this->sizeY)-1];
    						$this->green[$x][$y]=$this->green[$x][$this->sizeY-($y-$this->sizeY)-1];
    						$this->blue[$x][$y]=$this->blue[$x][$this->sizeY-($y-$this->sizeY)-1];
    						$this->alpha[$x][$y]=$alph+$this->alpha[$x][$this->sizeY-($y-$this->sizeY)-1];
    						if($this->alpha[$x][$y]>127) $this->alpha[$x][$y]=127;
    					}
    				}
    			}
    		}
    	}
    	$filename="alpha";
    	$mirror=new Mirror($filename);
    	$mirror->loadImg();
    	$mirror->createMirror();
    	$mirror->saveImg();
    ?>
    </body>
    </html>

    Делал для одного сайта зеркальное отражение картинки (photoshop использовать не умеем-с). Почему-то сервер часто падал.
    Как оно работает, можно посмотреть здесь http://xcont.com/perc/newperceptron/cell/mirror.php

    xcont, 11 Июля 2012

    Комментарии (9)
  6. SQL / Говнокод #11376

    −122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    exec @res = dbo.p_bis_prepaid_diagnostic @tar_addr, @req_dubug_info output
      
    if (@res = 0)
      set @res = 1
    else
      set @res = 0

    aloha, 07 Июля 2012

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

    +142

    1. 1
    <a href="tariff.php">Расчет тарифа</a>

    dos_, 21 Июня 2012

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

    +132

    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
    <div style="text-align: left;">
      <span style="font-size: 30px;line-height:100%;font-family:Tahoma; ">
        <a style="color:#FFFFFF" href="/uslugi/skoraya-pomoshh">
          <span style="font-size: 24pt;">
            <strong>
              <span style="font-size: 18pt;">
                <span style="font-family: arial helvetica sans-serif;">Выезд врача</span>
              </span>
            </strong>
          </span>
          <strong>
            <span style="font-size: 18pt;">
              <span style="font-family:  arial  helvetica  sans-serif;">
                <br>
              </span>
            </span>
          </strong>
        </a>
      </span>
    </div>
    <div style="text-align: left;">
      <strong>
        <span style="font-size: 18pt;">
          <span style="font-family: arial helvetica  sans-serif;"></span>
        </span>
      </strong>
    </div>
    <div style="text-align: left;">
      <span style="font-size: 30px;line-height:100%;font-family:Tahoma; ">
        <a style="color:#FFFFFF" href="/uslugi/skoraya-pomoshh">
          <span style="font-size: 12pt;">
            <span style="font-size: 14pt;">
              <strong>
                <span style="font-size: 18pt;">
                  <span style="font-family:  arial  helvetica sans-serif;">на дом</span>
                </span>
              </strong>
            </span>
          </span>
        </a>
      </span>
    </div>

    Просто ссылка "Выезд врача на дом"

    aleksey_b, 15 Июня 2012

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

    +61

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (empty($columns)) {
    	$columns = 'eleven';
    } else {
    	// Check the function for a returned variable
            // (от автора) КОГО КОГО МЫ ТАМ ЧЕКАЕМ??
    	$columns = $columns;
    }

    Найдено в достойном шаблоне Skeleton для WordPress
    /(. . )

    blessed, 13 Июня 2012

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

    +63

    1. 1
    2. 2
    $ToName = "$user_iname";
    $ToEmail = "$user_email";

    Кавычки-то зачем?

    domaster, 09 Июня 2012

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

    +54

    1. 1
    $todayweekday = date("w", mktime(0, 0, 0, date("m"), date("d"), date("Y")));

    апофеоз

    shmaltorhbooks, 05 Июня 2012

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