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

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

    +154.1

    1. 1
    $style = ( U_AREA != 'admin' and !defined('U_AREA_MOD') ) ?  'public/templates/' . URegistry::$settings['default_template']['value'] :  'sources/skin_acp/' . SKIN_ACP;

    ололо

    ololo, 09 Марта 2010

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

    +83.5

    1. 1
    2. 2
    3. 3
    4. 4
    public void connect(boolean numberOfTransactions)
    {
    ...
    }

    Че туда передавать???

    Nike83, 04 Марта 2010

    Комментарии (8)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. 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)