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

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

    +160

    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
    $query="SHOW COLUMNS FROM ".$table;
    $result_field=mysql_query($query);
    $num_field=mysql_num_rows($result_field);
    
    for ($i = 0; $i<$num_field; $i++)
    {
        $row=mysql_fetch_array($result_field);
        $field_array[$i]=$row[0];
    }
    
    foreach ($field_array as $field)
        $select_field.=$field.',';
    
    $select_field=substr($select_field,0,-1);
    
    $query='select '.$select_field.' from '.$table;
    ...

    Аналог $query='select * from '.$table;

    porten, 20 Августа 2009

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

    +149

    1. 1
    $from = isset($_POST[$query[0]])? $_POST[$query[0]] : isset($_GET[$query])? $_GET[$query[0]]: null;

    Выдавил

    azzz, 20 Августа 2009

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

    +28

    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
    COMMAND command;
    BUFFER Buffer1;
    BUFFER Buffer2;
    ...
    byte NetSend(byte*& data, int& size)
    {
    	byte fErr = NO_ERRORS;
    	char* const Data = (char* const)data;
    
    	if(Data != 0)
    	{
    		if(Data[0] != 0)
    		{
    			Buffer1.writeData(Data,size,NULL);
    			command='Send';
    			byte fErr=net.sendCommand(command,Buffer1);
    		}
    		else 
    		{
    			Buffer2.writeData(Data,size,NULL);
    			command='SendFast';
    			byte fErr=net.sendCommand(command,Buffer2);
    		};
    	}
    	else
    	{
    		byte fErr=SEND_PARAM_ERROR;
    	}
    	
    	return fErr;
    };

    Зачем же автор завёл два Buffer? :D

    Говногость, 19 Августа 2009

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    int* a=new int;
    ...
    constant=1/*a;
    ...

    Один студент в блокноте писал...

    Говногость, 19 Августа 2009

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

    +6.9

    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
    #ifndef SOCHET_H
    #define SOCHET_H
    
    // Сдвигает самую младшую единицу в сторону младшего разряда
    #define shiftLast1Right(x) ( (x-1)^((x^(x-1)) >> 2) )
    
    // Дописывает 1 после самой младшей единицы
    #define add1AfterLast1(x) ( x | ((x^(x-1))+1) >> 2 )
    
    template<class T>
    class Sochet
    {
    public:
    	T value;
    
    	//////////////////////////////////////////////////////////////////////////
    
    	Sochet():value(0) { }
    	Sochet(int n, int k) {
    		firstTurn(n, k);
    	}
    	~Sochet() {
    		value = 0;
    	}
    
    	//////////////////////////////////////////////////////////////////////////
    
    	// Первая комбинация
    	// В первоначальной ситуации все К единиц располагаются в старших битах
    	void firstTurn(int n, int k) {
    		value = ( ( T(1) << k ) - 1 ) << (n - k);
    	}
    
    	// Нахождение следующей комбинации
    	// Возвращает false в случае последней комбинации
    	bool nextTurn()
    	{
    		// Отлов последней комбинации
    		if (value & (value+1) == 0)
    			return false;
    		
    		// Условие по младшему биту: 1 или 0
    		if (value & 1)
    		{
    			value >>= 1;
    			nextTurn();
    			value = add1AfterLast1(value << 1);
    		} else
    			value = shiftLast1Right(value);
    		
    		return true;
    	}
    }
    
    #endif // SOCHET_H

    Шаблон перебора всех сочетаний/выборок в много разрядных числах.
    Пример перебираемых чисел для N=5, K=3:
    11100
    11010
    11001
    10110
    10101
    10011
    01110
    01101
    01011
    00111

    // Код выглядит сочно(особенно дефайны), зато всё работает максимально быстро.
    // Статья про этот алгоритм: http://k06a.blogspot.com/2009/04/blog-post_08.html

    k06a, 15 Августа 2009

    Комментарии (9)
  7. SQL / Говнокод #1583

    −166.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
    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
    SELECT DISTINCT B.TYPE_SID, B.ID BANNER_ID, B.WEIGHT BANNER_WEIGHT,
    B.SHOWS_FOR_VISITOR, B.FIX_CLICK, B.FIX_SHOW, B.KEYWORDS BANNER_KEYWORDS,
    C.ID CONTRACT_ID, C.WEIGHT CONTRACT_WEIGHT, C.KEYWORDS CONTRACT_KEYWORDS
    FROM b_adv_type T
    INNER JOIN b_adv_banner B ON ( B.ACTIVE='Y' and B.TYPE_SID = T.SID
    and B.STATUS_SID = 'PUBLISHED'
    and (B.FOR_NEW_GUEST is null or B.FOR_NEW_GUEST='N')
    and (ifnull(B.MAX_SHOW_COUNT,0)>ifnull(B.SHOW_COUNT,0)
    or ifnull(B.MAX_SHOW_COUNT,0)=0) and (ifnull(B.MAX_CLICK_COUNT,0)>ifnull(B.CLICK_COUNT,0)
    or ifnull(B.MAX_CLICK_COUNT,0)=0) and (ifnull(B.MAX_VISITOR_COUNT,0)>ifnull(B.VISITOR_COUNT,0)
    or ifnull(B.MAX_VISITOR_COUNT,0)=0) and (B.DATE_SHOW_FROM<=now() or B.DATE_SHOW_
    FROM is null or length(B.DATE_SHOW_FROM)<=0) and (B.DATE_SHOW_TO>=now()
    or B.DATE_SHOW_TO is null or length(B.DATE_SHOW_TO)<=0))
    INNER JOIN b_adv_banner_2_site BS ON ( BS.BANNER_ID = B.ID and BS.SITE_ID = 'ru')
    INNER JOIN b_adv_contract C ON ( C.ID = B.CONTRACT_ID and C.ACTIVE='Y'
    and (ifnull(C.MAX_SHOW_COUNT,0)>ifnull(C.SHOW_COUNT,0)
    or ifnull(C.MAX_SHOW_COUNT,0)=0) and (ifnull(C.MAX_CLICK_COUNT,0)>ifnull(C.CLICK_COUNT,0)
    or ifnull(C.MAX_CLICK_COUNT,0)=0)  and (ifnull(C.MAX_VISITOR_COUNT,0)>ifnull(C.VISITOR_COUNT,0)
    or ifnull(C.MAX_VISITOR_COUNT,0)=0) and (C.DATE_SHOW_FROM<=now() or C.DATE_SHOW_
    FROM is null or length(C.DATE_SHOW_FROM)<=0) and (C.DATE_SHOW_TO>=now() or C.DATE_SHOW_TO is null
    or length(C.DATE_SHOW_TO)<=0))
    INNER JOIN b_adv_contract_2_site CS ON ( CS.CONTRACT_ID = B.CONTRACT_ID and CS.SITE_ID = 'ru')
    INNER JOIN b_adv_contract_2_type CT ON ( CT.CONTRACT_ID = C.ID
    and (CT.TYPE_SID = 'ALL' or CT.TYPE_SID = T.SID))
    INNER JOIN b_adv_banner_2_weekday BW ON ( BW.BANNER_ID = B.ID
    and BW.C_WEEKDAY='SUNDAY' and BW.C_HOUR = '11')
    INNER JOIN b_adv_contract_2_weekday CW ON ( CW.CONTRACT_ID = C.ID
    and CW.C_WEEKDAY='SUNDAY' and CW.C_HOUR = '11')
    LEFT JOIN b_adv_banner_2_group UG1 ON ( (UG1.BANNER_ID = B.ID and UG1.GROUP_ID in (2,1,21)) )
    LEFT JOIN b_adv_banner_2_page BP1 ON ( BP1.BANNER_ID = B.ID and BP1.SHOW_ON_PAGE='Y')
    LEFT JOIN b_adv_banner_2_page BP2 ON ( BP2.BANNER_ID = B.ID and BP2.SHOW_ON_PAGE='N'
    and '/e-store/books/index.php?SECTION_ID=145' like concat(BP2.PAGE, '%'))
    LEFT JOIN b_adv_contract_2_page CP1 ON ( CP1.CONTRACT_ID = C.ID and CP1.SHOW_ON_PAGE='Y')
    LEFT JOIN b_adv_contract_2_page CP2 ON ( CP2.CONTRACT_ID = C.ID and CP2.SHOW_ON_PAGE='N'
    and '/e-store/books/index.php?SECTION_ID=145' like concat(CP2.PAGE, '%'))
    LEFT JOIN b_adv_banner_2_stat_adv BA ON BA.BANNER_ID = B.ID
    LEFT JOIN b_adv_banner_2_country BC ON BC.BANNER_ID = B.ID WHERE T.ACTIVE = 'Y'
    and BP2.ID is null and CP2.ID is null
    and (BP1.ID is null or '/e-store/books/index.php?SECTION_ID=145' like concat(BP1.PAGE, '%'))
    and (CP1.ID is null or '/e-store/books/index.php?SECTION_ID=145' like concat(CP1.PAGE, '%'))
    and (BA.STAT_ADV_ID is null or BA.STAT_ADV_ID='0')
    and (BC.COUNTRY_ID is null or BC.COUNTRY_ID='N0')
    and ( (B.SHOW_USER_GROUP = 'Y' and UG1.GROUP_ID is not null)
    or (B.SHOW_USER_GROUP <> 'Y' and UG1.GROUP_ID is null))
    ORDER BY B.TYPE_SID desc, C.ID desc

    SQL-запрос из Битрикса

    http://ekimoff.ru/165/

    endo, 14 Августа 2009

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

    +71.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    List<AbstractPOJO> ordersList = getList();		
    int num = CollectionUtils.indexOf(ordersList, orders.getCurrentOrder());
    if (num > -1 && num < ordersList.size()) {
    	int objectsPerPageCount = orders.getObjectsPerPage();
    	for (int i = 0; i < ordersList.size(); i++) {
    		if (num >= objectsPerPageCount * i && num < objectsPerPageCount * (i + 1)) {
    			orders.setPage(i + 1);
    			break;
    		}
    	}
    }

    установка текущей страницы...
    переписалось в:
    List<AbstractPOJO> ordersList = getList();
    int num = CollectionUtils.indexOf(ordersList, orders.getCurrentOrder());
    if (num > -1) {
    orders.setPage(num / orders.getObjectsPerPage());
    }

    asdqwezx, 12 Августа 2009

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

    +158.1

    1. 1
    2. 2
    3. 3
    4. 4
    function fDim($m){
        $vDim = array(1, 3, 5, 7, 8, 10, 12);
        return (in_array($m, $vDim) ? 31 : ($m == 2? 28 : 30));
    }

    Функция возвращает количество дней в месяце. Очень забавный пассаж, ага?

    sharpstream, 10 Августа 2009

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

    +141

    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
    try
    {
       fIn = fopen(cszFileName, "rb");
       if (fIn == 0)
         throw (std::string("Can not open file: ") + cszFileName);
      
       if (!ParseFile(fIn, pLookup))
         throw (std::string("Bad file format. File: ") + cszFileName);
     
       throw std::string("");
    }
    catch (std::string& e)
    {
       if (fIn != 0)
       {
          fclose(fIn);
          fIn = NULL;
       }
       if (e.length() != 0)
       {
          throw std::exception(e.c_str());
       }
    }

    Исправленный говнокод

    guest, 04 Августа 2009

    Комментарии (9)
  11. JavaScript / Говнокод #1410

    +166.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (document.getid.txtemail.value.search("@") == -1)
    {
    	alert("This is not a valid email account.");
    	return(false);
    }
    //check for valid email address required.

    Нашел вот тут в одном индусском проекте, валидакия имейла XD

    guest, 23 Июля 2009

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