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

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

    +167.6

    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
    function BOOK_list() {
     document.getElementById('rbLoadedId_list').style.display='block';
     document.getElementById('rbLoadedId_blogs').style.display='none';
     document.getElementById('rbLoadedId_free').style.display='none';
     document.getElementById('rbLoadedId_add').style.display='none';
     document.getElementById('rbLoadedId_friend').style.display='none';
     document.getElementById('rbLoadedId_award').style.display='none';
    
     document.getElementById('0rbLoadedId_list').className='act';
     document.getElementById('0rbLoadedId_blogs').className='book';
     document.getElementById('0rbLoadedId_free').className='book';
     document.getElementById('0rbLoadedId_add').className='book';
     document.getElementById('0rbLoadedId_friend').className='book';
     document.getElementById('0rbLoadedId_award').className='book';
        }
    
      function BOOK_blogs() {
     document.getElementById('rbLoadedId_list').style.display='none';
     document.getElementById('rbLoadedId_blogs').style.display='block';
     document.getElementById('rbLoadedId_free').style.display='none';
     document.getElementById('rbLoadedId_add').style.display='none';
     document.getElementById('rbLoadedId_friend').style.display='none';
     document.getElementById('rbLoadedId_award').style.display='none';
    
     document.getElementById('0rbLoadedId_list').className='book';
     document.getElementById('0rbLoadedId_blogs').className='act';
     document.getElementById('0rbLoadedId_free').className='book';
     document.getElementById('0rbLoadedId_add').className='book';
     document.getElementById('0rbLoadedId_friend').className='book';
     document.getElementById('0rbLoadedId_award').className='book';
        }

    JS-табы по-китайски. Взято отсюда — http://vkurse.net.ru/js/info.js
    Это только первые 2 функции, в источнике ещё больше

    Infamous, 03 Марта 2010

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

    −169

    1. 1
    2. 2
    3. 3
    4. 4
    SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
           type_table_of_name_tag_value ()
      FROM DUAL
     WHERE dummy = 'Z'

    andrew, 01 Марта 2010

    Комментарии (8)
  4. ActionScript / Говнокод #2689

    −186.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var topItem:Object;
    var rowNum:int;
    var rowCount:int;
    ...
    else if (!topItem && !rowNum == rowCount)
    ...

    Чтобы не утомлять вас догадками, во что же это превратится и в каком порядке произойдут операции: это условие выполниться только когда:
    topItem == null
    rowNum != 0
    rowCount == 0
    Как следует из названий переменных, человек, написавший это ожидал, что количество строк может быть меньше, чем порядковый номер одной из строк...
    Взято, опять же из Flex Framework mx.controls::Tree.
    Скорее всего автор имел в виду следующее:

    else if (!topItem && rowNum !== rowCount)

    Но булевые переменные, они ж такие коварные :)

    wvxvw, 27 Февраля 2010

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

    −151.7

    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
    SELECT
    CASE WHEN  Subtask.ParentTask_ID = 1 
    THEN 0 ELSE CASE WHEN 
    (
    	SELECT  SUM([Percent]) AS SumOfPercent 
    	FROM  Reports  GROUP BY Zadanie_ID 
    	HAVING  (Zadanie_ID = SubTask.SubTask_ID)) IS NULL 
    	THEN 0 ELSE  (SELECT  SUM([Percent]) AS SumOfPercent 
    	FROM      Reports GROUP BY Zadanie_ID 
    	HAVING   (Zadanie_ID = SubTask.SubTask_ID)
    ) END 
    END 
    AS SumOfPercent, 
    CASE WHEN Subtask.isContinued <> 1 
    THEN ((persons_1.Baza / 0.25) * (
    CASE WHEN Subtask.dateEnding IS NULL 
    THEN CAST(SubTask.SubTask_EndDate - DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0) AS integer)  
    ELSE CAST(SubTask.SubTask_EndDate - SubTask.DateEnding AS integer) 
    END -  
    DATEDIFF(ww, CASE WHEN Subtask.dateending IS NOT NULL THEN Subtask.dateending ELSE getdate() END,    
    SubTask.SubTask_EndDate) * 2) / 8 * CAST( Priority.Priority_Name AS numeric) / 1000)  
    ELSE CASE WHEN ((persons_1.Baza / 0.25)* (CASE WHEN Subtask.dateEnding IS NULL THEN  
    CAST(SubTask.SubTask_EndDate - DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0) AS integer)  
    ELSE CAST(SubTask.SubTask_EndDate - SubTask.DateEnding AS integer)END -   
    DATEDIFF(ww, CASE WHEN Subtask.dateending IS NOT NULL THEN Subtask.dateending ELSE getdate() END,    
    SubTask.SubTask_EndDate) * 2)/ 8 * CAST( Priority.Priority_Name AS numeric)/ 1000) > 0 THEN 0  
    ELSE (persons_1.Baza / 0.25) * (CASE WHEN Subtask.dateEnding IS NULL 
    THEN  CAST(SubTask.SubTask_EndDate - DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0) AS integer) 
    ELSE CAST(SubTask.SubTask_EndDate - SubTask.DateEnding  AS integer) END - 
    DATEDIFF(ww, CASE WHEN Subtask.dateending IS NOT NULL  THEN Subtask.dateending ELSE getdate() END,  
    SubTask.SubTask_EndDate) * 2) / 8 * CAST( Priority.Priority_Name AS numeric)   / 1000 END END AS timebonus,  
    CASE WHEN Subtask.isContinued <> 1 THEN (CASE WHEN (CASE WHEN  SubTask.executed = 0 
    THEN  CAST(Subtask.Subtask_EndDate - DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0) AS int) 
    ELSE CAST(Subtask.Subtask_EndDate - Subtask.DateEnding AS int)  END >= 0)
    THEN (0.40 * (persons_1.Baza * CASE WHEN  
    (SELECT  SUM([Hours]) AS sumHours FROM Reports where (isreal=1) or (isReal=null) GROUP BY Zadanie_ID 
    HAVING  (Zadanie_ID = Subtask.Subtask_ID))  IS NULL  THEN 0 ELSE  
    (SELECT  SUM([Hours]) AS sumHours FROM Reports where (isreal=1) or (isReal=null) GROUP BY Zadanie_ID 
    HAVING  (Zadanie_ID = Subtask.Subtask_ID))  END)) 
    * (CAST( Priority.Priority_Name AS numeric) / 1000) ELSE 0 END) ELSE 0 END  AS PriorityBonus
    ...

    Я знаю, это трудно понять, но это алгоритм расчета правду о Жизни, Вселенной и Всего Такого. Это SQL выполняется на каждом Login в систему.

    dzver, 26 Февраля 2010

    Комментарии (8)
  6. Perl / Говнокод #2666

    −251.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
    33. 33
    my $sec;
    my $min;
    my $hour;
    my $mday;
    my $mon;
    my $year;
    my $wday;
    my $yday;
    my $isdst;
    
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =localtime(time);
    $year=$year+1900;
    $mon=$mon+1;
    if ($mon<10)
    {
    $mon='0'.$mon;
    }
    if ($sec<10)
    {
    $sec='0'.$sec;
    }
    if ($min<10)
    {
    $min='0'.$min;
    }
    if ($hour<10)
    {
    $hour='0'.$hour;
    }
    if ($mday<10)
    {
    $mday='0'.$mday;
    }

    двузначные цифры в дате

    Bracus, 25 Февраля 2010

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

    +151.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
    CREATE TABLE `pm_keywords` (
      `id` int(11) unsigned NOT NULL auto_increment,
      `keyword` varchar(255) default NULL,
    ....
      PRIMARY KEY  (`id`),
      UNIQUE KEY `uniq_keyword` (`keyword`),
    ) ;"
    
    
    
    
    
    
    
    	$sql = "SELECT keyword 
    		FROM pm_keywords 
    		WHERE active = 0
    		ORDER BY rand()
    		LIMIT ".intval($newKeywords);
    	$q = mysql_query($sql);
    
    	$keywords = array();
    	while ($r = mysql_fetch_assoc($q)) {
    		$keywords[] = mysql_real_escape_string($r['keyword']);
        }
        $newKeywordsActual = count($keywords);
    	$sql = "UPDATE `pm_keywords` SET
      			active = 1, 
    			lastupdate = '".date('Y-m-d H:i:s')."'
    		WHERE keyword IN ('".implode("','", $keywords)."')
    		LIMIT ".$newKeywordsActual;
    	mysql_query($sql);

    WHERE keyword IN ('".implode("','", $keywords)."')

    zxm, 25 Февраля 2010

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

    +75.8

    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
    package core;
    
    public class Cryptor {
        /**
         * Encodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String encode(String s, String p) {
            byte[] str = s.getBytes();
            int h = summ(p);
    
            for(int i = 0; i < str.length; i++) {
                str[i] = (byte) (str[i] ^ h ^ i);
            }
    
            return new String(str,0,str.length);
        }
    
        /**
         * Decodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String decode(String s, String p) {
            return encode(s, p);
        }
    
        /**
         * Calculater the hash summ of password.
         * @param p Password.
         */
        public static int summ(String p) {
            int r = -1;
            byte[] str = p.getBytes();
            for(int i = 0; i < str.length; i++) r+=str[i]+i;
            return r;
        }
    }

    danilissimus, 24 Февраля 2010

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

    +164.2

    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
    $_GET = array_map('trim', $_GET);
    $_POST = array_map('trim', $_POST);
    $_COOKIE = array_map('trim', $_COOKIE);
    $_REQUEST = array_map('trim', $_REQUEST);
    if(get_magic_quotes_gpc()):
        $_GET = array_map('stripslashes', $_GET);
        $_POST = array_map('stripslashes', $_POST);
        $_COOKIE = array_map('stripslashes', $_COOKIE);
        $_REQUEST = array_map('stripslashes', $_REQUEST);
    endif;
    $_GET = array_map('mysql_real_escape_string', $_GET);
    $_POST = array_map('mysql_real_escape_string', $_POST);
    $_COOKIE = array_map('mysql_real_escape_string', $_COOKIE);
    $_REQUEST = array_map('mysql_real_escape_string', $_REQUEST);

    Нашел в комментах к пхпшной ф-ции mysql_real_escape_string().
    Очевидно, код чешет все суперглобалы на вшивость, чтобы затем можно было механически юзать все "без проверки". Пиздец.

    htmlcoder-exe, 20 Февраля 2010

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

    +166.3

    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
    <?php
    
    if (($_COOKIE["prava"]==1)or($_COOKIE["prava"]==2))
    {
    $lstclient[]=mysql_query("select * from lstclient ");
    $lstclient[]=mysql_query("select * from lstclient ");
    $lstclient[]=mysql_query("select * from lstclient ");
    $lstclient[]=mysql_query("select * from lstclient ");
    $lstcou[]=mysql_query("select * from lstcou ");
    $lstcou[]=mysql_query("select * from lstcou ");
    $lstcou[]=mysql_query("select * from lstcou ");
    $lstcou[]=mysql_query("select * from lstcou ");
    $lstcou[]=mysql_query("select * from lstcou ");
    /* ... и так еще два десятк строк ... */
          echo'<tr><td>Страны</td><td>';
          while($mas=mysql_fetch_row($countcou)){$counter=$mas[0];}
          while($maslnk=mysql_fetch_row($lnkcou)){$coulnk[]=$maslnk[0];}
          for ($i=1; $i<6; $i++)
          { 
          	echo' <select name="cou'.$i.'"><option value="0"> </option>';
          	while($mas=mysql_fetch_row($lstcou[$i-1]))
          	{
              if ($i>$counter)
              {
            	echo '<option value="'.$mas[0].'">'.$mas[1].'</option>';
              }
              else
              {
            	if ($coulnk[$i-1]<>$mas[0]){echo '<option value="'.$mas[0].'">'.$mas[1].'</option>';}
            	else {echo '<option selected value="'.$mas[0].'">'.$mas[1].'</option>';}
              }
            }
            echo'</select>';
          }	  
      echo'
        </td>
      </tr>
    ';

    И подобного альтернативно-одаренного творчества там 150Кб (простейший CRUD, с одной таблицей)

    turdman, 19 Февраля 2010

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

    +73.3

    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
    package xx.xxxxxxxx.xxx.xxx.gui.constants;
    
    /**
     * constants.
     */
    public class Constants
    {
        public static final int HORIZONTAL_SIZE = 500;
    
        public static final int VERTICAL_SIZE = 340;
    
        public static final int ABS_MAX_LENGTH_NUMBER = 28;
    
        public static final int ZERO = 0;
        public static final int ONE = 1;
        public static final int TWO = 2;
        public static final int THREE = 3;
        public static final int FOUR = 4;
        public static final int FIVE = 5;
    
    }

    ZERO=0, ONE=1, TWO=2, ...
    Ваш К.О.

    xvro, 17 Февраля 2010

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