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

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    $page=$_GET['p'];
    
    if(abs(intval($page)).""==$page) {
    // ...
    }
    ?>

    Нашел в своём старом коде. Ну да, я тоже когда-то не знал, про is_int();

    mr.The, 08 Августа 2010

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

    +164

    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
    if (strlen($str)>1 && substr($str,strlen($str)-2,1)=="1") {
            switch(substr($str,strlen($str)-1,1)) {
            case "0": $newstr="десять рублей";break;
            case "1": $newstr="одиннадцать рублей";break;
            case "2": $newstr="двенадцать рублей";break;
            case "3": $newstr="тринадцать рублей";break;
            case "4": $newstr="четырнадцать рублей";break;
            case "5": $newstr="пятнадцать рублей";break;
            case "6": $newstr="шестнадцать рублей";break;
            case "7": $newstr="семьнадцать рублей";break;
            case "8": $newstr="восемьнадцать рублей";break;
            case "9": $newstr="девятьнадцать рублей";break;}}
    else {
            switch(substr($str,strlen($str)-1,1)) {
            case "0": $newstr="рублей";break;
            case "1": $newstr="один рубль";break;
            case "2": $newstr="два рубля";break;
            case "3": $newstr="три рубля";break;
            case "4": $newstr="четыре рубля";break;
            case "5": $newstr="пять рублей";break;
    .......................................
            case "7": $newstr="семь миллионов ".$newstr;break;
            case "8": $newstr="восемь миллионов ".$newstr;break;
            case "9": $newstr="девять миллионов ".$newstr;break;}
        if (strlen($str)>7) {
            switch(substr($str,strlen($str)-8,1)) {
            case "2": $newstr="двадцать ".$newstr;break;
            case "3": $newstr="тридцать ".$newstr;break;
            case "4": $newstr="сорок ".$newstr;break;
            case "5": $newstr="пятьдесят ".$newstr;break;
            case "6": $newstr="шестьдесят ".$newstr;break;
            case "7": $newstr="семьдесят ".$newstr;break;
            case "8": $newstr="восемьдесят ".$newstr;break;
            case "9": $newstr="девяносто ".$newstr;break;}}}}
    if (strlen($str)>8) {
    switch(substr($str,strlen($str)-9,1)) {
    	case "0": $newstr="сто ".$newstr;break;
        case "1": $newstr="сто ".$newstr;break;
        case "2": $newstr="двести ".$newstr;break;
        case "3": $newstr="триста ".$newstr;break;
        case "4": $newstr="четыреста ".$newstr;break;
        case "5": $newstr="пятьсот ".$newstr;break;
        case "6": $newstr="шестьсот ".$newstr;break;
        case "7": $newstr="семьсот ".$newstr;break;
        case "8": $newstr="восемьсот ".$newstr;break;
        case "9": $newstr="девятьсот ".$newstr;break;}}

    Вот так делают "сумму прописью".
    Радует и форматирование, и порядок порядков чисел в if .. elseif .. else

    Mihard, 03 Августа 2010

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

    +164

    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
    function isGood($race,$class) {
             switch ($race) {
                    case 1:
                         if ($class == 1 || $class == 2 || $class == 4 || $class == 5 || $class == 6 || $class == 8 || $class == 9) { return true; }
                         break;
                    case 2:
                         if ($class == 1 || $class == 3 || $class == 4 || $class == 6 || $class == 7 || $class == 8 || $class == 9) { return true; }
                         break;
                    case 3:
                         if ($class == 1 || $class == 2 || $class == 3 || $class == 4 || $class == 5 || $class == 6) { return true; }
                         break;
                    case 4:
                         if ($class == 1 || $class == 3 || $class == 4 || $class == 5 || $class == 6 || $class == 11) { return true; }
                         break;
                    case 5:
                         if ($class == 1 || $class == 4 || $class == 5 || $class == 6 || $class == 8 || $class == 9) { return true; }
                         break;
                    case 6:
                         if ($class == 1 || $class == 3 || $class == 6 || $class == 7 || $class == 11) { return true; }
                         break;
                    case 7:
                         if ($class == 1 || $class == 4 || $class == 6 || $class == 8 || $class == 9) { return true; }
                         break;
                    case 8:
                         if ($class == 1 || $class == 3 || $class == 4 || $class == 5 || $class == 6 || $class == 7 || $class == 8) { return true; }
                         break;
                    case 10:
                         if ($class == 2 || $class == 3 || $class == 4 || $class == 5 || $class == 6 || $class == 8 || $class == 9) { return true; }
                         break;
                    case 11:
                         if ($class == 1 || $class == 2 || $class == 3 || $class == 5 || $class == 6 || $class == 7 || $class == 8) { return true; }
                         break;
             }
             return false;
    
    }

    Oops, 30 Июля 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    try {
        ...
    } catch ( Exception $O_o ) {
        error_log( $O_o->getMessage() );
        ...
    }

    Совсем неожиданный эксепшин O_o

    eee_qqq, 30 Июля 2010

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

    +164

    1. 1
    LONG bShutdownCounter;

    Существует много баталий на тему венгерской нотации, есть много за и много против, но это - просто шедевр :)

    ryadovoy, 28 Июля 2010

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

    +164

    1. 1
    $black = imagecolorallocate($img, 255, 255, 255);

    Не совсем говнокод, конечно, но все же.

    Uchkuma, 20 Июля 2010

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

    +164

    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
    $tr = "<tr>";
    $td = "<td>";
    $_tr = "</tr>";
    $_td = "</td>";
    $table = "<table>";
    $_table = "</table>";
    
    echo ("<table border='1'>");
    while ($myrow = mysql_fetch_array ($result))
    {
    printf ("%s",$tr);
    foreach ($myrow as $value)
    {
    printf ("%s%s%s",$td,$value,$_td);
    };
    printf ("%s",$_tr);
    };
    echo ("</table>");

    Uchkuma, 20 Июля 2010

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

    +164

    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
    std::string str(bool val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(short val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(unsigned short val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(int val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(unsigned int val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(long val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(unsigned long val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(float val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(double val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }
    
    std::string str(long double val) {
      std::stringstream ss;
      ss << val;
      return ss.str();
    }

    Вот что значит невыспанная голова!
    Чуть позже переделал в это

    template<class T>
    std::string str(T val) {
    std::stringstream ss;
    ss << val;
    return ss.str();
    }

    rudvil, 14 Июля 2010

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

    +164

    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
    <?
    
    class с_self_add_form
    {
    var $main="<P>
    <form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
    ....HTML...
    </table></form></P>";
    }
    
    class u_self_add_form
    {
    var $main="<P class=ttext>
    <form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
    ....Другой HTML...
    </table></form></P>";
    }
    
    class d_self_add_form
    {
    var $main="<P class=zag>
    <form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
    ....Третий HTML...
    </table></form></P>";
    }
    
    /* и так далее, и тому подобное */

    самый шикарный формат файла с шаблонами, который я видел.

    Mihard, 02 Июля 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function banByIP($ip) {
    	$result = mysql_query("SELECT * FROM `" . $GLOBALS['mysql_bans_table'] . "` WHERE `ip` = '" . mysql_real_escape_string($ip) . "' LIMIT 1");
    	while ($ban = mysql_fetch_assoc($result)) {
    		return $ban;
    	}
    }

    Из движка TinyIB.

    telnet, 29 Июня 2010

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