1. C++ / Говнокод #11487

    +19

    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
    void load_functions(void** functions[], const char* names[], ushort count)
    {
    	for(ushort i=0; i<count; i++)
    		*functions[i]=wglGetProcAddress(names[i]);
    }
    
    ...
    
    void* const glslFunctions[]={&glCreateShader, &glShaderSource, &glCompileShader,
    	&glGetShaderiv, &glGetShaderInfoLog, &glDeleteShader,
    	&glCreateProgram, &glAttachShader, &glLinkProgram, &glGetProgramiv,
    	&glGetProgramInfoLog, &glUseProgram, &glDeleteProgram,
    	&glGetUniformLocation, &glGetActiveUniform, &glBindAttribLocation,
    	&glGenProgramPipelines, &glBindProgramPipeline, &glDeleteProgramPipelines, &glUseProgramStages,
    	&glProgramParameteri, &glGetProgramPipelineiv, &glValidateProgramPipeline, &glGetProgramPipelineInfoLog,
    
    	&glProgramUniform1i, &glProgramUniform2iv, &glProgramUniform3iv, &glProgramUniform4iv,
    	&glProgramUniform1ui, &glProgramUniform2uiv, &glProgramUniform3uiv, &glProgramUniform4uiv,
    	&glProgramUniform1f, &glProgramUniform2fv, &glProgramUniform3fv, &glProgramUniform4fv,
    	&glProgramUniform1d, &glProgramUniform2dv, &glProgramUniform3dv, &glProgramUniform4dv,
    	&glProgramUniformMatrix2fv, &glProgramUniformMatrix3fv, &glProgramUniformMatrix4fv,
    	&glProgramUniformMatrix2x3fv, &glProgramUniformMatrix2x4fv,
    	&glProgramUniformMatrix3x2fv, &glProgramUniformMatrix3x4fv,
    	&glProgramUniformMatrix4x2fv, &glProgramUniformMatrix4x3fv,
    	&glProgramUniformMatrix2dv, &glProgramUniformMatrix3dv, &glProgramUniformMatrix4dv,
    	&glProgramUniformMatrix2x3dv, &glProgramUniformMatrix2x4dv,
    	&glProgramUniformMatrix3x2dv, &glProgramUniformMatrix3x4dv,
    	&glProgramUniformMatrix4x2dv, &glProgramUniformMatrix4x3dv};
    
    const char* glslFuncNames[sizeof(glslFunctions)/sizeof(glslFunctions[0])]=
    	{"glCreateShader", "glShaderSource", "glCompileShader",
    	"glGetShaderiv", "glGetShaderInfoLog", "glDeleteShader",
    	"glCreateProgram", "glAttachShader", "glLinkProgram", "glGetProgramiv",
    	"glGetProgramInfoLog", "glUseProgram", "glDeleteProgram",
    	"glGetUniformLocation", "glGetActiveUniform", "glBindAttribLocation",
    	"glGenProgramPipelines", "glBindProgramPipeline", "glDeleteProgramPipelines", "glUseProgramStages",
    	"glProgramParameteri", "glGetProgramPipelineiv", "glValidateProgramPipeline", "glGetProgramPipelineInfoLog",
    
    	"glProgramUniform1i", "glProgramUniform2iv", "glProgramUniform3iv", "glProgramUniform4iv",
    	"glProgramUniform1ui", "glProgramUniform2uiv", "glProgramUniform3uiv", "glProgramUniform4uiv",
    	"glProgramUniform1f", "glProgramUniform2fv", "glProgramUniform3fv", "glProgramUniform4fv",
    	"glProgramUniform1d", "glProgramUniform2dv", "glProgramUniform3dv", "glProgramUniform4dv",
    	"glProgramUniformMatrix2fv", "glProgramUniformMatrix3fv", "glProgramUniformMatrix4fv",
    	"glProgramUniformMatrix2x3fv", "glProgramUniformMatrix2x4fv",
    	"glProgramUniformMatrix3x2fv", "glProgramUniformMatrix3x4fv",
    	"glProgramUniformMatrix4x2fv", "glProgramUniformMatrix4x3fv",
    	"glProgramUniformMatrix2dv", "glProgramUniformMatrix3dv", "glProgramUniformMatrix4dv",
    	"glProgramUniformMatrix2x3dv", "glProgramUniformMatrix2x4dv",
    	"glProgramUniformMatrix3x2dv", "glProgramUniformMatrix3x4dv",
    	"glProgramUniformMatrix4x2dv", "glProgramUniformMatrix4x3dv"};
    
    load_functions((void***)glslFunctions, glslFuncNames, sizeof(glslFunctions)/sizeof(glslFunctions[0]));
    
    ...

    Вот так я загружаю расширения OpenGL!

    gammaker, 28 Июля 2012

    Комментарии (110)
  2. C++ / Говнокод #11486

    +19

    1. 1
    delete this;

    Это написал гейдевщик.
    Но когда его спросили: "Почему? Зачем?"
    Он ответил: "Я создаю принципиально новую охретектуру движка. Это будет лучший двиг всех времен и народов."

    HaskellGovno, 28 Июля 2012

    Комментарии (46)
  3. C++ / Говнокод #11485

    +4

    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
    #include <iostream>
    using std::cin;
    using std::cout;
    using std::endl;
    
    #include <cmath>
    
    double mySqrt( float, float );
    
    int main() {
        float a, n;
        cin >> a >> n;
        
        cout << mySqrt( a, n ) << endl;
        return 0;    
    }
    
    double mySqrt( float a, float n ) {
        const double EPSILON = 0.00001;
        double precision;
        
        double x = 0, x_prev = 1.0;
        
        do {
            x = (x_prev * (n - 1.0) + a / pow( x_prev, n - 1.0 )) / n;
            precision = fabs( x - x_prev );
            
            x_prev = x;
        } while( precision > EPSILON );
        
        return x;
    }

    Студентота, да.
    Извлечение корней.

    vortexx1, 28 Июля 2012

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

    +13

    1. 1
    #pragma comment(linker, "/export:?CreateEngine3D@pbl3d@@YGJAAPAUIEngine3D@1@ABUSENGINE3DCREATEPARAMETERS@1@PAUIEvents@1@@Z=?CreateEngine3D@core@pbl3d@@YGJAAPAUIEngine3D@2@ABUSENGINE3DCREATEPARAMETERS@2@PAUIEvents@2@@Z")

    "А вдоль дороги мертвые кресты стоят... И тишина..."

    HaskellGovno, 27 Июля 2012

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

    +100

    1. 1
    2. 2
    3. 3
    synchronized(new Object()){
    ...
    }

    http://stackoverflow.com/questions/9840959/how-to-judge-which-object-to-be-synchronized-in-java-thread

    3.14159265, 27 Июля 2012

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    @Override
    public String toString(){
            return this.toString();
    }

    хуита, 27 Июля 2012

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

    +18

    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
    // ОЛОЛО ОЛОЛО КРЕСТОШАБЛОНЫ И ХУЙЛО
     if (ro<Fixed(100))
         DrawCircle<0>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(200))
         DrawCircle<1>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(400))
         DrawCircle<2>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(800))
         DrawCircle<3>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(1600))
         DrawCircle<4>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(3200))
         DrawCircle<5>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(6400))
         DrawCircle<6>(b, x, y, ri, ro, ball.color);
     else if (ro<Fixed(12800))
         DrawCircle<7>(b, x, y, ri, ro, ball.color);
     else
         DrawCircle<8>(b, x, y, ro, ri, ball.color);

    Я знаю, что рекурсивный крестошаблон сможет сделать то же самое, но крестопортянка всё равно быстрее пишется и выглядит нагляднее.

    TarasB, 26 Июля 2012

    Комментарии (67)
  8. Java / Говнокод #11477

    +76

    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
    /* ------------------------------------------------------------ */
        private boolean isJspServlet ()
        {
            if (_servlet == null)
                return false;
            
            Class c = _servlet.getClass();
            
            boolean result = false;
            while (c != null && !result)
            {
                result = isJspServlet(c.getName());
                c = c.getSuperclass();
            }
            
            return result;
        }
        
        
        /* ------------------------------------------------------------ */
        private boolean isJspServlet (String classname)
        {
            if (classname == null)
                return false;
            return ("org.apache.jasper.servlet.JspServlet".equals(classname));
        }

    Копался в исходниках Jetty

    konsoletyper, 26 Июля 2012

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

    +66

    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
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    //header.php
    <div id="search-box">						
                <form action="<?=$_SERVER["REQUEST_URI"]?>" method="get" style="padding:0;margin:0;">
    <?php
    $sql="SELECT * FROM wp_gorod ORDER BY name_gorod ASC ";
    $res=mysql_query($sql);
    $g=array();if($_GET['gorod']!=""){
    	$id=$_GET['gorod'];
    	$_SESSION['gorod_id']=$id;
    	$ig=$_REQUEST['gorod_id'];}
    $ig=$_SESSION['gorod_id'];	
    echo "<select onchange='return this.form.submit()' name='gorod'>\n";	echo "<option value='0'>Выберите город</option>\n";
    while($row=mysql_fetch_array($res)){
    	if($row['id_gorod']==$_SESSION['gorod_id']){
    		echo "<option value='".$row['id_gorod']."' selected='selected'>".$row['name_gorod']."</option>\n";	}else{
    		echo "<option value='".$row['id_gorod']."'>".$row['name_gorod']."</option>\n";
    	}
    }echo "</select>     <font size=\"4\" color=\"#F46F2A\">".$_SESSION['number']."</font>\n";if(isset($_SESSION['gorod_id'])){
    	echo "<br>\n";
    	$sql1="Select * from wp_gorod where id_gorod=".$ig;
    	$r=mysql_query($sql1);
    	$rw=mysql_fetch_array($r);
    	echo "<div class=tel><b> ".$rw['telephone']. "<br /></b></div>\n";
    	echo "<div class=adres align=right>".$rw['adres']."<br/>\n";
    	echo "".$rw['email']."</div>\n";
    }
    ?>
             <noscript><input type="submit" value="View" /></noscript>
             </form></div>
    
    //index.php
    if ($_SERVER['REQUEST_URI'] == '/doneck/') {
    header("Location: /doneck/?gorod=15");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/vinnica/') {
    header("Location: /vinnica/?gorod=13");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/dnepropetrovsk/') {
    header("Location: /dnepropetrovsk/?gorod=14");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/zhitomir/') {
    header("Location: /zhitomir/?gorod=17");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/zaporozhe/') {
    header("Location: /zaporozhe/?gorod=18");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/ivano-frankovsk/') {
    header("Location: /ivano-frankovsk/?gorod=19");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/kiev/') {
    header("Location: /kiev/?gorod=20");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/kirovograd/') {
    header("Location: /kirovograd/?gorod=37");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/lugansk/') {
    header("Location: /lugansk/?gorod=21");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/luck/') {
    header("Location: /luck/?gorod=22");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/lvov/') {
    header("Location: /lvov/?gorod=23");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/nikolaev/') {
    header("Location: /nikolaev/?gorod=24");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/odessa/') {
    header("Location: /odessa/?gorod=25");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/poltava/') {
    header("Location: /poltava/?gorod=26");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/rovno/') {
    header("Location: /rovno/?gorod=27");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/krym/') {
    header("Location: /krym/?gorod=28");
    return;
    }
    if ($_SERVER['REQUEST_URI'] == '/sumy/') {
    header("Location: /sumy/?gorod=29");
    return;
    }

    Чья-то модификация для wordpress.
    1. google скушал 2000 ссылок вида http://адрес-сайта/чпу/?gorod=29 (http://адрес-сайта/чпу/?gorod=26, http://адрес-сайта/чпу/?gorod=25, ...) и понизил сайт в выдаче
    2. sql-инъекций идет на ура. Странно, что никто не воспользовался.

    xcont, 26 Июля 2012

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

    +47

    1. 1
    mysql_query ("INSERT INTO mr_costadvtxt VALUES ('LAST_INSERT_ID(id+1)','$itemid','$kindofstr','$size', '$size_count','$pricered','$fordisc','$disc','$scheme_name','$pnum')") or die(mysql_error());

    psycho-coder, 24 Июля 2012

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