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

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

    +81

    1. 1
    2. 2
    3. 3
    4. 4
    THIS:while(true){
                if(true)break;
                ...
    }

    fcuk ну как так можно кодить?

    Mooncrafter, 01 Сентября 2011

    Комментарии (18)
  3. Куча / Говнокод #7652

    +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
    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
    # /* [  <!-- */ include  <stdio.h> /*   \
      #{\
    `""""true \\#{"\n#"};           \
      \
    if [ -n "$ZSH_VERSION" ]; then           \
      \
      echo exec  echo I\'m a zsh script.; \
      \
    elif [ -n "$BASH_VERSION" ]; then        \
      \
      echo exec  echo I\'m a bash script.; \
    else  \
      echo exec  echo  I\'m  a sh  script.;    \
    fi`;  #\
    BEGIN{print"I'm a ", 0 ? "Ruby"  :"Perl",  " program.\n";  exit; } 
      #\
    %q~            
      
    set dummy =0; puts [list "I'm"  "a"  "tcl"  "script."]; exit   
      
    all: ; @echo "I'm a Makefile."          \
      #*/
    /*: */ enum {a, b};            \
      \
    static int c99(void) {         
      
    #ifndef __cplusplus /* bah */        
      
    unused1: if ((enum {b, a})0)          \
      (void)0;
    #endif           
      
    unused2:  return a;     \
    }  \
    static int trigraphs(void) {         \
      \
      return sizeof  "??!"  ==  2;    \
    }  \
    char X;               \
      \
    int main(void) {             \
      \
      struct X  {        \
      \
         char  a[2];    \
      };\
      if (sizeof(X)  !=  1) {       \
      \
    printf("I'm a C++ program (trigraphs %sabled).\n",         \
      \
       trigraphs()  ? "en"  : "dis");\
      \
    }else if (1//**/2
     
     
    )unused3 : { ; \
        printf("I'm a C program (C%s, trigraphs %sabled).\n", \
            c99() ? "89 with // comments" : "99", \
            trigraphs() ? "en" : "dis"); \
      } else { \
        printf("I'm a C program (C89, trigraphs %sabled).\n", \
            trigraphs() ? "en" : "dis"); \
      } \
      return 0; \
    } /*
    # \
    > main :: IO () -- -- \
    > main = putStr "I'm a Literate Haskell program.\n"
    # \
    ]>++++++++[<+++++++++>-]<+.>>++++[<++++++++++>-]<-.[-]>++++++++++ \
    [<+++++++++++>-]<-.>>++++[<++++++++>-]<.>>++++++++++[<++++++++++> \
    -]<- - -.<.>+.->>++++++++++[<+++++++++++>-]<++++.<.>>>++++++++++[ \
    <++++++++++>-]<+++++.<<<<+.->>>>- - -.<+++.- - -<++.- ->>>>>+++++ \
    +++++[<+++++++++++>-]<- - -.<<<<<.<+++.>>>.<<<-.- ->>>>+.<.<.<<.> \
    ++++++++++++++.[-]++++++++++"""`
    # \
    print "I'm a Python program."; """[-][--><html><head>
    <!--:--><title>I'm a HTML page</title></head><body>
    <!--:--><h1>I'm a <marquee><blink>horrible HTML</blink></marquee> page</h1>
    <!--:--><script language="JavaScript">
    <!--: # \
    setTimeout( // \
      function () { // \
       document.body.innerHTML = "<h1>I'm a javascript-generated HTML page</h1>"; // \
      }, 10000); // \
    //-->
    </script><!--: \
    </body></html><!-- } # \
    say "I'm a Perl6 program", try { " ($?PUGS_VERSION)" } // "", "."; # """ # */
    #define FOO ]-->~

    Может боян, конечно, но этот код реально компилится и работает на 15 разных языках программирования без изменений.
    Работает в C(x2), C++, Haskell, Ruby, Python, Perl(x2), HTML, tcl, bash, zsh, make, bash и brainfuck.

    auf1r2, 25 Августа 2011

    Комментарии (18)
  4. Куча / Говнокод #7609

    +146

    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
    Boost
    December 25th, 2009 (07:36 pm)
    Tags: мудаки
    current mood: ненависть
    
    Как же меня заебали люди, изобретающие свои велосипеды, и не желающие пользоваться бустом. "От буста одни тормоза". 
    "Он долго компилируется". "Он жрет многа памяти".
    
    Ну пиздец, слов нет. Дай обезьяне компьютер, так она пойдет им гвозди забивать. Буст охуенен, блять. 
    Буст - это плод многолетней кропотливой работы самых светлых умов планеты. В мире просто нет ей аналога, даже отдаленного.
    
    Прежде чем, блять, иметь ахуй критиковать буст, посмотрите объективно на то невероятно уебищное, запредельно
    сверхблевотное термоядерное убер-гавно, которое выходит из под ваших кривых культяпок. Это же невообразимый пиздец.
    Студия плачет стекловидным телом, у компилятора кровавый понос, линкер блюет собственными кишками.
    Сравнивать буст и собственную говноподелку - это все равно что сравнивать телескоп Хаббл и бабушкины очки.
    
    Если даун не смог качественно решить задачу с помощью буста, то это не потому что буст - гавно, а потому что он даун.
    
    Предлагаю новый тест на IQ из одного вопроса: "Используете ли вы Boost?".

    http://outsidecpp.livejournal.com/8678.html

    CPPGovno, 21 Августа 2011

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

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    void some_func(ptrdiff_t value)
    {
      register double cos_v=cos(static_cast<double>(value));
      ptrdiff_t pt=static_cast<ptrdiff_t>(cos_v);
      {... working with pt ...}
    }

    Более того есть функция матричного умножения, элементами этих матриц являются ptrdiff_t'ы (там уже нет перевода в double при вычислениях).
    Мне одному кажется что автор наркоман?

    J0hnny, 17 Августа 2011

    Комментарии (18)
  6. PHP / Говнокод #7543

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $firstName = $_POST['firstname'];
    $secondName=$_POST['secondname'];
    $email = $_POST['email'];
    $query="insert into sportsmans values('$secondName','$firstName','$email',null)";
    $conn = mysql_connect('localhost','root','VCh3005');
    mysql_select_db('Competition');
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET 'utf8'");
    mysql_query($query);
    mysql_error();
    mysql_close();

    Классика...

    Sulik78, 14 Августа 2011

    Комментарии (18)
  7. Perl / Говнокод #7465

    −179

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #count pages
    	my $counter; my $pagescount = 0; my $pagesstr;
    	for (my $i = 0; $i <= $count; $i++)
    	{
    		if ($counter == POSTS_PER_PAGE)
    		{
    		    my $a,$b; if ($pagescount == $pagenum) { $a = "["; $b = "]"; } else { $a = ""; $b = ""; }
    			$pagesstr = $pagesstr."$a<a href=\"wakaba.pl?task=mpanel&admin=$admin&page=$pagescount\">".($pagescount +1)."</a>$b" if ($pagescount == 0);
    			$pagesstr = $pagesstr.", $a<a href=\"wakaba.pl?task=mpanel&admin=$admin&page=$pagescount\">".($pagescount +1)."</a>$b" if ($pagescount != 0);
    			$pagescount++; $counter = 0;
    		} else { $counter++; }
    	}

    Вот такой веселый код пишут программисты дватиреча и на этом этот самый имиджборд и работает.

    7ion, 05 Августа 2011

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

    +126

    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
    <div id="scroller">
      <a href="javascript:scroll(0,0)">Наверх</a>
    </div>
    
    <style type="text/css">
    #scroller {
    position:fixed;
    left:0px;
    top:100%;}
    
    #scroller a {
    position:relative;
    top:-47px;
    padding:5000px 10px 30px 10px;}
    
    #scroller a:hover {background:#d8e3f0;}
    </style>

    Скролл страницы наверх, прикреплённый к левой границе экрана. Надпись "Наверх" -- внизу экрана. Опускаю блок под экран -- "top:100%", а потом поднимаю ссылочку наверх -- "top:-47px".

    opex_jr, 02 Августа 2011

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

    +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
    protected IOException copyRange(InputStream istream, ServletOutputStream ostream) {
    
            // Copy the input stream to the output stream
            IOException exception = null;
            byte buffer[] = new byte[input];
            int len = buffer.length;
            while (true) {
                try {
                    len = istream.read(buffer);
                    if (len == -1) {
                        break;
                    }
                    ostream.write(buffer, 0, len);
                } catch (IOException e) {
                    exception = e;
                    len = -1;
                    break;
                }
            }
            return exception;
    
        }

    Си-стайл в исходниках Tomcat. Зачем кидать исключения, если их можно возвращать вместо кода ошибки?

    Eyeless, 01 Августа 2011

    Комментарии (18)
  10. Assembler / Говнокод #7378

    +240

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    db $8F, $AE, $A7, $A4, $E0, $A0, $A2, $AB, $EF, $EE, $20, $E3, $EE, $E2, $AD, $A5
    db $AD, $EC, $AA, $A8, $A9, $20, $A3, $AE, $A2, $AD, $AE, $AA, $AE, $A4, $A8, $AA
    db $20, $E1, $20, $A4, $AD, $F1, $AC, $20, $E1, $A8, $E1, $E2, $A5, $AC, $AD, $AE
    db $A3, $AE, $20, $A0, $A4, $AC, $A8, $AD, $A8, $E1, $E2, $E0, $A0, $E2, $AE, $E0
    db $A0, $21

    TarasB, 29 Июля 2011

    Комментарии (18)
  11. Java / Говнокод #7331

    +147

    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
    public class Matrix {
    
        private float matrix[][];
        private int dim;
    
        public Matrix(int dim) {
            this.dim = dim;
            this.matrix = new float[dim][dim];
        }
    
        public void productOfTwo(Matrix src, Matrix dest) {
            if (src.dim == this.dim) {
                dest.dim = this.dim;
    
                Matrix[] temp = new Matrix[this.dim];
                for (int i = 0; i < this.dim; i++) {
                    temp[i] = new Matrix(this.dim);
                }
    
                for (int i = 0; i < this.dim; i++) {
                    for (int j = 0; j < this.dim; j++) {
                        for (int k = 0; k < this.dim; k++) {
                            temp[k].matrix[i][j] = this.matrix[i][k] * src.matrix[k][j];
                        }
                    }
                }
              
                for (int i = 0; i < this.dim; i++) {
                    dest.sum(temp[i]);
                }
            } else {
                System.out.println("  An error occured: Dimensions of matrices do not match");
            }
        }
    
        public float findDet() {
            if (this.dim == 1) {
                return this.matrix[0][0];
            } else if (this.dim == 2) {
                return this.matrix[0][0] * this.matrix[1][1] - this.matrix[0][1] * this.matrix[1][0];
            } else {
                float result = 0;
                Matrix minor = new Matrix(this.dim - 1);
                for (int i = 0; i < this.dim; i++) {
                    for (int j = 1; j < this.dim; j++) {
                        System.arraycopy(this.matrix[j], 0, minor.matrix[j - 1], 0, i);
                        System.arraycopy(this.matrix[j], i + 1, minor.matrix[j - 1], i, this.dim - (i + 1));
                    }
                    result += Math.pow(-1, i) * this.matrix[0][i] * minor.findDet();
                }
                return result;
            }
        }

    Всем доброго времени суток! Прошу к Вашему вниманию алгоритм нахождения произведения двух матриц(умножаем слева направо) и нахождения детерминанта разложением по столбцу(рекурсия). Прошу оценить, по всей строгости.
    Заранее спасибо!

    kaspvar, 24 Июля 2011

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