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

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public class ClientSourceTranslator implements ITranslator
    {
      public Object map(Object input)
      {
        return String.valueOf(12);
      }
    }

    askell, 29 Января 2013

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

    +64

    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
    <?php
    $_1_2[1]="одна ";
    $_1_2[2]="две ";
     
    $_1_19[1]="один ";
    $_1_19[2]="два ";
    $_1_19[3]="три ";
    $_1_19[4]="четыре ";
    $_1_19[5]="пять ";
    $_1_19[6]="шесть ";
    $_1_19[7]="семь ";
    $_1_19[8]="восемь ";
    $_1_19[9]="девять ";
    $_1_19[10]="десять ";
     
    $_1_19[11]="одиннацать ";
    $_1_19[12]="двенадцать ";
    $_1_19[13]="тринадцать ";
    $_1_19[14]="четырнадцать ";
    $_1_19[15]="пятнадцать ";
    $_1_19[16]="шестнадцать ";
    $_1_19[17]="семнадцать ";
    $_1_19[18]="восемнадцать ";
    $_1_19[19]="девятнадцать ";
     
    $des[2]="двадцать ";
    $des[3]="тридцать ";
    $des[4]="сорок ";
    $des[5]="пятьдесят ";
    $des[6]="шестьдесят ";
    $des[7]="семьдесят ";
    $des[8]="восемдесят ";
    $des[9]="девяносто ";
     
    $hang[1]="сто ";
    $hang[2]="двести ";
    $hang[3]="триста ";
    $hang[4]="четыреста ";
    $hang[5]="пятьсот ";
    $hang[6]="шестьсот ";
    $hang[7]="семьсот ";
    $hang[8]="восемьсот ";
    $hang[9]="девятьсот ";
     
    $namerub[1]="гривна ";
    $namerub[2]="гривны ";
    $namerub[3]="гривен ";
     
    $nametho[1]="тысяча ";
    $nametho[2]="тысячи ";
    $nametho[3]="тысяч ";
     
    $namemil[1]="миллион ";
    $namemil[2]="миллиона ";
    $namemil[3]="миллионов ";
     
    $namemrd[1]="миллиард ";
    $namemrd[2]="миллиарда ";
    $namemrd[3]="миллиардов ";
     
    $kopeek[1]="копейка ";
    $kopeek[2]="копейки ";
    $kopeek[3]="копеек ";
    
    еще бред
    
    function num2str($L){
    global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd, $kopeek;
    $s=" ";
    $s1=" ";
    $s2=" ";
    $kop=intval( ( $L*100 - intval( $L )*100 ));
    $L=intval($L);
    if($L>=1000000000){
        $many=0;
        semantic(intval($L / 1000000000),$s1,$many,3);
        $s.=$s1.$namemrd[$many];
        $L%=1000000000;
    }

    Привет :)
    Для многих сайтов, которые работают с числами (продажа товаров, например), то в чеке рекомендуется писать стоимость товара не только цифрами, но и буквами. :)
    Вот для этого и есть такой не большой скрипт на php. Это функция, которой удобно пользоваться.

    И так, вот что нам надо:
    - массив с переменными
    - две функции: одна подфункция - дополняет главную.

    Как пользоваться

    <?php

    $prop=num2str(121.45;
    echo $prop;

    ?>

    насладиться в полном объеме можно здесь: http://zvlad.com/180-vyvod-chislovoy-sumy.html

    ahref, 11 Сентября 2012

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

    +64

    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
    case 5: {
    			$im = imagecreatetruecolor(1024, 1024);
    			imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255));
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/0.jpg"), 0, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/1.jpg"), 0, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/2.jpg"), 0, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/3.jpg"), 0, 765, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/4.jpg"), 255, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/5.jpg"), 255, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/6.jpg"), 255, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/7.jpg"), 255, 765, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/8.jpg"), 510, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/9.jpg"), 510, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/10.jpg"), 510, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/11.jpg"), 510, 765, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/12.jpg"), 735, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/13.jpg"), 735, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/14.jpg"), 765, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im, imagecreatefromjpeg("core/temp/15.jpg"), 765, 765, 0, 0, 255, 255, 100);
    			imagepng($im, "core/".$name_tovar."/1.png");
    			$im2 = imagecreatetruecolor(1024, 1024);
    			imagefill($im2, 0, 0, imagecolorallocate($im2, 255, 255, 255));
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/16.jpg"), 0, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/17.jpg"), 0, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/18.jpg"), 0, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/19.jpg"), 0, 765, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/20.jpg"), 255, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/21.jpg"), 255, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/22.jpg"), 255, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/23.jpg"), 255, 765, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/24.jpg"), 510, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/25.jpg"), 510, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/26.jpg"), 510, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/27.jpg"), 510, 765, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/28.jpg"), 735, 0, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/29.jpg"), 735, 255, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/30.jpg"), 765, 510, 0, 0, 255, 255, 100);
    			imagecopymerge($im2, imagecreatefromjpeg("core/temp/31.jpg"), 765, 765, 0, 0, 255, 255, 100);
    			imagepng($im2, "core/".$name_tovar."/2.png");
    			// еще строк 60
    			imagepng($im5, "core/".$name_tovar."/5.png");
    		}

    ..и так далее.
    Прислал знакомый с комментарием:

    [18:18:48] брал 16 картинок
    [18:18:52] нужно было склеить в одну
    [18:19:04] ну и эти 16 картинок спарсить и т.д. и т.п.

    Это, как бы, только один кейс. Там таких 6, в 6 вообще чертовщина ужасная строк на 200.
    Всё это чудо занимает 858 строк несвежего кала весом в ~80кб.

    AlexT, 28 Августа 2012

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

    +64

    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
    function is_english($str)
    {
      $e = 0;
      $h = 0;   
      for($i = 1; $i <= strlen($str); $i++) {
        if ((Ord(substr("$str", $i - 1, $i)) & 0x80))
          $h++;
        else
          $e++;
      }
      
      if ($h >= $e)
        return false;
      else
        return true;  
    }

    по названию функции все ясно

    Skull, 14 Августа 2012

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

    +64

    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
    <?php
    /* File: config.php */
    $ea_hot_color = "#F06000";
    $ea_fulllocation = "1";
    $ea_curconverter = "1";
    $ea_show_hits = "1";
    $ea_show_created_date = "1";
    //и т.д.~300 строк
    
    // ============================
    /* File: config.class.php */
    class EAConf{
    /*
    ...
    */
      function EAConf(){
       require('config.php');
       $allvars=get_defined_vars();
       $names=array_keys($allvars);
       foreach($names as $name){
        if(substr($name,0,2)=="ea") $this->$name=$allvars[$name];
       }
      }
    
    /*
    ...
    */
    }

    Какая глубина мысли! Смело, нетривиально!

    virtual_cia, 06 Августа 2012

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

    +64

    1. 1
    2. 2
    3. 3
    $is_root = ($node_id == 0) ? 'yes' : ''; 
    //и потом..
    if (!is_null($name_node) && $is_root != 'yes') {

    Есть у меня падаван-джуниор, девушка. Есть вот в коде перлы типа такого.
    булеан, не не слышал =\ И не понятно почему yes и пустая строка, пусть бы было уже yes и no.. Женская логика?

    vitaly, 31 Июля 2012

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

    +64

    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
    /**
       * Analyzes the supplied result to see if it was thrown
       * because the access token is no longer valid.  If that is
       * the case, then we destroy the session.
       *
       * @param $result array A record storing the error message returned
       *                      by a failed API call.
       */
      protected function throwAPIException($result) {
        $e = new FacebookApiException($result);
        switch ($e->getType()) {
          // OAuth 2.0 Draft 00 style
          case 'OAuthException':
            // OAuth 2.0 Draft 10 style
          case 'invalid_token':
            // REST server errors are just Exceptions
          case 'Exception':
            $message = $e->getMessage();
            if ((strpos($message, 'Error validating access token') !== false) ||
                (strpos($message, 'Invalid OAuth access token') !== false) ||
                (strpos($message, 'An active access token must be used') !== false)
            ) {
              $this->destroySession();
            }
            break;
        }
    
        throw $e;
      }

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

    ЗЫ: Это SDK от facebook.

    korchasa, 17 Июля 2012

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    $res = mysql_query(...);
    if($res == 'true'){
        .....
    }

    Может кому то покажутся знакомы эти строки, но те, кто не знают Е. Попова могут над ним поржать.

    BioMan, 15 Июня 2012

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

    +64

    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
    /*
     *---------------------------Темка на одном seo форуме...
     *Проблемка вот в чём:
     *используется такая конструкция
    */
    
    echo '<td class="play"><span class="doRadio" onclick="doRadio('.$row['alt_name'].', '.$row['name'].');">Play</span></td>';
    
    /*
     *при правильном раскладе должно получиться так
     *<span class="doRadio" onclick="doRadio('kissfmua', 'KISS FM');">Play</span>
     *но теряются одиночные кавычки ('kissfmua', 'KISS FM') как я не менял выдает ошибку
     *подскажите!
    */
    
    /*
     *---------------------------Ответ одного формучанина
    echo '<td class="play"><span class="doRadio" onclick="doRadio(\''.$row['alt_name'].'\', \''.$row['name'].'\');">Play</span></td>';

    Я просто в ахуе...

    kise97, 29 Мая 2012

    Комментарии (24)
  11. Куча / Говнокод #9999

    +64

    1. 1
    http://i.imgur.com/z30k3.png

    bot, 20 Апреля 2012

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