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

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

    +166

    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
    echo "<body>";
    echo "<h1>Картинки</h1>";
    //$num =$_GET[num];
    $start = 0 ;
    $start=$_GET['start'];
    $ls_dir = $_GET ['ls_dir'];
    if (!isset($ls_dir ))
    {
        $ls_dir ="./pictures" ;
    }
    $num =10;
    if (!isset($start))
    {
        $start =0 ;
    }
    echo "$ls_dir";
    $dir = `ls $ls_dir | awk '/\.[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]?$/ {print "&&&" $1}'`;
    $fold_dir = `ls -l $ls_dir | awk '/^d/ {print "&&&" $9}'`;
    $pic_list = explode("&&&",$dir);
    $dir_list =explode("&&&",$fold_dir);
     
    echo "$fold_dir";
     
     
    ?>
     
    <h3>Доступные папки</h3>
    <ul>
    <?php
    for ($i=1;$i< count($dir_list);$i++)
    {
        $cur_val=$ls_dir."/".$dir_list[$i];
        echo "<li>";
     
    	 echo "<a href=pictures.php?start=0&ls_dir=$cur_val>";
        //echo $cur_val;
        echo "<img src=fold_im.JPG width=34 height=49 />";
    //    echo "&start=";
    //    echo $start;
    //    echo ">"; 
        echo $dir_list[$i];
        echo "</a>";
        echo "</li>";
    }
     
     
    ?>
     
     
    </ul>
     
     
    <table width="100%" border="1">
     
    <tr>
    <td width="10%">
    </td>
    <td><h1>Картинки из папки <?php echo $ls_dir ?></h1>
    </td>
    </tr>
    <?php
     
    for ($i = $start +1;($i<$start +1+ $num)&&($i<count($pic_list));$i++)
    {
        echo "<tr>";
        echo "<td width =10% >&nbsp</td>";
        $pic = $ls_dir."/".$pic_list[$i];
        echo "<td>";
        echo "<a href = $pic><img src=$pic/><a/>";
        echo "</td>";
        echo "</tr>";
    }
     
    ?>

    alexrp, 21 Ноября 2010

    Комментарии (27)
  3. ActionScript / Говнокод #4580

    −155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function requiredVersion(required) 
    { 
      version = getVersionNumber();
      if (version.nl < required.nl) return(false);
      if (version.nl > required.nl) return(true);
      if (version.n2 < required.n2) return (false);
      if (version.n2 > required.n2) return (true);
      if (version.n3 < required.n3) return (false); 
      if (version.n3 > required.n3) return (true);
      if (version.n4 < required.n4) return (false); 
      if (version.n4 >= required.n4) return (true);
    }

    psina-from-ua, 10 Ноября 2010

    Комментарии (27)
  4. SQL / Говнокод #4424

    −177

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    SELECT * FROM `table` WHERE UNIX_TIMESTAMP(ExpireDate) >= UNIX_TIMESTAMP(NOW())
    
    
    
    ;

    даже не знаю что тут писать )))) только что столкнулся )))

    bakytn, 23 Октября 2010

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    function m($s, $re)
        {
            return preg_match($re, $s);
        }

    Из какого-то движка такая вот функа в файле function.php

    Arigato, 11 Октября 2010

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

    +129

    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
    private const int _multiple_cols = 0x0000060D;  //0001000001101 - (Multiple view)
    private const int _single_cols = 0x000007F1;	//0001111110001 - (Single view)
    
    private void SetGridColumnVisibility()
    {
    	int bits = _view_type == NotificationContactViewType.Multiple ? _multiple_cols : _single_cols;
    	DataControlFieldCollection cols = gvContacts.Columns;
    	DataControlField col;
    	for (int i = 0; i < cols.Count; i++)
    	{
    		col = cols[i];
    		int bit = (int)Math.Pow(2, i);
    		col.Visible = ((bits & bit) == bit);
    	}
    }

    Интересный способ установки видимости колонкам в гриде :)

    olldman, 05 Сентября 2010

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

    +162

    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
    function SplitStr($V){
                      $ab=explode(' ',$V);
                      $V='';
                      foreach($ab as $a){
                            $a=substr($a,0,50).' '.substr($a,50,50).' '.substr($a,100,50).' '.substr($a,150,50).' '.substr($a,200,50).' '.substr($a,250,50).' '.substr($a,300,50).' '.substr($a,350,50);
                            $V.=$a.' ';
                      }
                      while(strpos($V, "  ")){
                            $V = str_replace("  ", " ", $V);
                      }
    
                    return $V;
    }

    Регулярные выражения? Это что и зачем?

    mihaild, 11 Августа 2010

    Комментарии (27)
  8. JavaScript / Говнокод #3590

    +173

    1. 1
    javascript:for(i=0; i<=document.images.length; i++){document.images[i].width=height=0}

    Безумное решение которое я нашел на форуме в локалке под лозунгом "Сэкономить на трафике" была ссылка с данным кодом.

    pbg, 29 Июня 2010

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

    +125

    1. 1
    2. 2
    3. 3
    int platform = (int) Environment.OSVersion.Platform;
    if (platform != 4 && platform != 128)
          return;

    Из gbrainy (входит в поставку Ubuntu 10.04), причём это рекомендованный самим Мигелем де Иказой подход.
    Экскурс: в кроссплатформенном™ фреймворке MS .NET 1.0/1.1® в энумерации PlatformID не было ничего кроме Windows'ов (Linux в паре мест официально числился Invalid). Ребята из моно кустарно добавили PlatformID.Unix == 128. Затем в MS. NET 2.0 всё-таки открыли для себя Mac OS X и Unix, но проставили PlatformID.Unix == 4. Благими намерениями вымощена дорога в к говнокоду :)

    cfdev, 22 Июня 2010

    Комментарии (27)
  10. Java / Говнокод #3244

    +79

    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
    public String FormatDocumentNumber(String docNum)
        {
            int len = docNum.length();
            int lenDiff = len - Integer.toString(this.document_num).length();
            char[] arr = docNum.toCharArray();
            char[] number = Integer.toString(this.document_num).toCharArray();
            
            for(int i=0; i<len; i++)
            {
                    arr[i] = '0';
            }
    
            for(int i=0; i<number.length; i++ )
            {
                arr[lenDiff+i] = number[i];
            }
    
            StringBuffer sb = new StringBuffer();
            for(int i=0; i<len; i++)
            {
                sb.append(arr[i]);
            }
    
            return sb.toString();
        }

    Как сделать красивую функцию, которая формирует строку определенной длины с числом с ведущими нулями?

    nolka4, 17 Мая 2010

    Комментарии (27)
  11. Си / Говнокод #3154

    +143

    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
    // народ на протяжении 5+ лет жаловался что постоянно что-то в этой библиотеке Х
    // криво потому что часто (с их слов) попытки вызова ее функций просто обламываются:
    
    int module_main_function()
    {
      int rc = 0;
      // ...
    
      rc = libX_do_work( ... )
      if (rc != OK) {
        // error!!!
      }
    
      // ...
    }
    
    // теперь заглянем в инициализацию этого модуля:
    
    int module_init()
    {
       int rc; 
       // ... кучи дежурного копи-паста для инициализации скипнуты ...
       rc = libZ_init();
       if (rc != OK)
       {
         /* error handling */
       }
    
       rc = libY_init();
       if (rc != OK)
       {
         /* error handling */
       }
    
       libX_init();   /* лопата */
       if (rc != OK)
       {
         /* error handling */
       }
    
       rc = libA_init();
       if (rc != OK)
       {
         /* error handling */
       }
    
       // ... и т.д. и т.п.
    }

    меня жалобы одного отдела начали потиху доставать что наша библиотека (назовем ее libX) у них в модуле постоянно не работает и шо ваабще за херня. как встроили ее - так и не работает. иногда. в 80+ модулях работает как часы - ни один другой отдел не жалуется - а вот в ихнем очень специальном модуле нет.

    ну я к ним подвалил. они меня сразу в рабочую функцию тыкать стали - вот тут дескать не работает. я им методично: покаж где инициализация. я когда в инициализацию заглянул, почти сразу начал роготять (давно так не смеялся, наболело за годы).
    им минут пять понадобилось что бы в своем копи-паст параде рассмотреть эту глюку.

    ЗЫ ответ: на строке с лопатой, не хватает "rc = ". у библиотеки есть внешняя конфигурация на отсутствии коей она у них обламывалась постоянно. и исправить скрипты свои что бы чужая конфигурация не убивалясь им похоже религия не позволяет.

    Dummy00001, 04 Мая 2010

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