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

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    memset( fc->key, 0, KEY_LEN+1);
    memset( fc->value, 0, VALUE_LEN+1);
    
    strncpy(fc->key, key, strlen( key) + 1);
    strncpy(fc->value, value,strlen( value) + 1);

    совершенное непонимание работы ф-ии strncpy

    benderlog, 30 Апреля 2010

    Комментарии (20)
  3. JavaScript / Говнокод #3092

    +144

    1. 1
    2. 2
    3. 3
    <p class="paragraph">
            ... текст...
     </p>

    зобавный кусок HTMLя, сори что в яваскрипт, сюда ближе всего :)

    adoconnection, 23 Апреля 2010

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

    +174

    1. 1
    2. 2
    3. 3
    shuffle($answers);
    shuffle($answers);
    shuffle($answers);

    Чтобы наверняка

    Shiz89, 21 Апреля 2010

    Комментарии (20)
  5. Java / Говнокод #3059

    +71

    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
    public class XXX implements YYY
    {
        public static final String UTILITYBATCHES = "utilityBatches";
        public static final String UTILITYCALCULATIONS = "utilityCalculations";
        public static final String WARDREGISTRATION = "wardRegistration";
        public static final String WARDINSPECTIONS = "wardInspections";
        public static final String WARDPRIMARYREGISTRATION = "wardPrimaryRegistration";
        public static final String SOCIALEVENTS2DOCUMENTS = "socialEvents2documents";
        public static final String SOCIALEVENTS = "socialEvents";
        public static final String SOCIALPACKAGES = "socialPackages";
        public static final String SOCIALAIDS = "socialAids";
        public static final String PRIVCATEGORIES = "privCategories";
        public static final String PAYMENTS = "payments";
        public static final String PAYMENTDETAILS = "paymentDetails";
        public static final String PAYMENTBATCHES = "paymentBatches";
        public static final String FAMILYRELATIONS = "familyRelations";
        public static final String FOSTERFAMILIES = "fosterFamilies";
        public static final String FAMILYMEMBERS = "familyMembers";
        public static final String INVALIDNESS = "invalidness";
        public static final String HEALTHINSPECTIONS = "healthInspections";
        public static final String EMPLOYMENTS = "employments";
        public static final String EDUCATION = "education";
        public static final String DOCUMENTS = "documents";
        public static final String FAMILIES = "families";
        public static final String DECORATIONS = "decorations";
        public static final String CALCULATIONS = "calculations";
        public static final String ATTRIBUTEVALUEHISTORY = "attributeValueHistory";
        public static final String ATTRIBUTEVALUES = "attributeValues";
        public static final String ASSIGNMENTS = "assignments";
        public static final String ADDRESSES = "addresses";
        public static final String ATTACHMENTS = "attachments";
        public static final String PERSONS = "persons";
        public static final String OCCUPANCIES = "occupancies";
        public static final String PROPERTIES = "properties";
        public static final String BUILDINGS = "buildings";
        public static final String WELFAREDELIVERY = "welfareDelivery";
    }

    clipper, 20 Апреля 2010

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?
    $fid = intval(check($_GET['fid']));
    if (empty($_GET['fid']))
    {
    echo "Ошибка!!!"; 
    ;}
    if (eregi("[^0-9]", $fid))
    {
    echo"Попытка взлома!!!";
    echo'<a href="../enter.php?'.$ses.'">Главная</a><br/>';
    ;}
    ?>

    Суровые борцы со взломом...

    Neformat, 18 Апреля 2010

    Комментарии (20)
  7. C# / Говнокод #2838

    +103.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
    using System;
    
    namespace Laba2
    {
    	class Program
    	{
    		public static void Main(string[] args)
    		{
    			
    			int max, a ;
    			string c;
    			Random rnd=new Random();
    			Console.WriteLine("Количество элементов в массиве");
    			c=Console.ReadLine();
    			a=Convert.ToInt32(c);
    			int[] nums = new int[a];
    			for (int i=0; i<a; i++)
    			{nums [i]= rnd.Next(-100,99);}
    			Console.Write("Массив   ");
    			foreach (int i in nums)
    			Console.Write(i + " "); Console.WriteLine();
    			max=nums[0];
    			foreach (int i in nums)
    			{a=1;    if (max<a) max=a;}
    			Console.WriteLine(max);
    			Console.Read();
    
    
    		}
    	}
    }

    Оставлено оригинальное оформление кода. Особое внимание заслуживает куча лишних переменных и циклов....

    ZiS, 22 Марта 2010

    Комментарии (20)
  8. C++ / Говнокод #2836

    +63.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
    32. 32
    33. 33
    34. 34
    D3DXINLINE
    D3DXVECTOR2::D3DXVECTOR2( CONST FLOAT *pf )
    {
    #ifdef D3DX_DEBUG
        if(!pf)
            return;
    #endif
    
        x = pf[0];
        y = pf[1];
    }
    
    D3DXINLINE
    D3DXVECTOR2::D3DXVECTOR2( CONST D3DXFLOAT16 *pf )
    {
    #ifdef D3DX_DEBUG
        if(!pf)
            return;
    #endif
    
        D3DXFloat16To32Array(&x, pf, 2);
    }
    
    D3DXINLINE BOOL
    D3DXVECTOR3::operator == ( CONST D3DXVECTOR3& v ) const
    {
        return x == v.x && y == v.y && z == v.z;
    }
    
    D3DXINLINE BOOL
    D3DXVECTOR3::operator != ( CONST D3DXVECTOR3& v ) const
    {
        return x != v.x || y != v.y || z != v.z;
    }

    Во-первых, классный "режим отладки". Если D3DX_DEBUG определён, то при нулевом указателе pf происходит тихий возврат. Совершенно, так сказать, по-английски. А вот анализ второй функции показывает, что данный исходник вообще не получится собрать с D3DX_DEBUG. Наглядная иллюстрация вреда тупого копипаста. Определения операторов == и != демонстрируют, как не надо сравнивать вещественные числа.
    Кто же автор этого безобразия? Имя не известно, зато известно место работы. Ибо этот "код" полностью представлен в файле d3dx9math.inl от компании Microsoft.

    whiskey, 22 Марта 2010

    Комментарии (20)
  9. Pascal / Говнокод #2831

    +100.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
    V := +2*C.C[SFX+S1]/DT-2*C.C[SFX+S4]/DT+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T1*U3;
            FX := FX+1*V*T0*U3*DT;
            FY := FY+3*V*T1*U2*DU;
            FXY := FXY+3*V*T0*U2*DT*DU;
            V := -3*C.C[SF+S1]+3*C.C[SF+S2]-2*C.C[SFX+S1]/DT-1*C.C[SFX+S2]/DT;
            F := F+V*T2*U0;
            FX := FX+2*V*T1*U0*DT;
            V := -3*C.C[SFY+S1]/DU+3*C.C[SFY+S2]/DU-2*C.C[SFXY+S1]/(DT*DU)-1*C.C[SFXY+S2]/(DT*DU);
            F := F+V*T2*U1;
            FX := FX+2*V*T1*U1*DT;
            FY := FY+1*V*T2*U0*DU;
            FXY := FXY+2*V*T1*U0*DT*DU;
            V := +9*C.C[SF+S1]-9*C.C[SF+S2]+9*C.C[SF+S3]-9*C.C[SF+S4]+6*C.C[SFX+S1]/DT+3*C.C[SFX+S2]/DT-3*C.C[SFX+S3]/DT-6*C.C[SFX+S4]/DT+6*C.C[SFY+S1]/DU-6*C.C[SFY+S2]/DU-3*C.C[SFY+S3]/DU+3*C.C[SFY+S4]/DU+4*C.C[SFXY+S1]/(DT*DU)+2*C.C[SFXY+S2]/(DT*DU)+1*C.C[SFXY+S3]/(DT*DU)+2*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T2*U2;
            FX := FX+2*V*T1*U2*DT;
            FY := FY+2*V*T2*U1*DU;
            FXY := FXY+4*V*T1*U1*DT*DU;
            V := -6*C.C[SF+S1]+6*C.C[SF+S2]-6*C.C[SF+S3]+6*C.C[SF+S4]-4*C.C[SFX+S1]/DT-2*C.C[SFX+S2]/DT+2*C.C[SFX+S3]/DT+4*C.C[SFX+S4]/DT-3*C.C[SFY+S1]/DU+3*C.C[SFY+S2]/DU+3*C.C[SFY+S3]/DU-3*C.C[SFY+S4]/DU-2*C.C[SFXY+S1]/(DT*DU)-1*C.C[SFXY+S2]/(DT*DU)-1*C.C[SFXY+S3]/(DT*DU)-2*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T2*U3;
            FX := FX+2*V*T1*U3*DT;
            FY := FY+3*V*T2*U2*DU;
            FXY := FXY+6*V*T1*U2*DT*DU;
            V := +2*C.C[SF+S1]-2*C.C[SF+S2]+1*C.C[SFX+S1]/DT+1*C.C[SFX+S2]/DT;
            F := F+V*T3*U0;
            FX := FX+3*V*T2*U0*DT;
            V := +2*C.C[SFY+S1]/DU-2*C.C[SFY+S2]/DU+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S2]/(DT*DU);
            F := F+V*T3*U1;
            FX := FX+3*V*T2*U1*DT;
            FY := FY+1*V*T3*U0*DU;
            FXY := FXY+3*V*T2*U0*DT*DU;
            V := -6*C.C[SF+S1]+6*C.C[SF+S2]-6*C.C[SF+S3]+6*C.C[SF+S4]-3*C.C[SFX+S1]/DT-3*C.C[SFX+S2]/DT+3*C.C[SFX+S3]/DT+3*C.C[SFX+S4]/DT-4*C.C[SFY+S1]/DU+4*C.C[SFY+S2]/DU+2*C.C[SFY+S3]/DU-2*C.C[SFY+S4]/DU-2*C.C[SFXY+S1]/(DT*DU)-2*C.C[SFXY+S2]/(DT*DU)-1*C.C[SFXY+S3]/(DT*DU)-1*C.C[SFXY+S4]/(DT*DU);
            F := F+V*T3*U2;
            FX := FX+3*V*T2*U2*DT;
            FY := FY+2*V*T3*U1*DU;
            FXY := FXY+6*V*T2*U1*DT*DU;
            V := +4*C.C[SF+S1]-4*C.C[SF+S2]+4*C.C[SF+S3]-4*C.C[SF+S4]+2*C.C[SFX+S1]/DT+2*C.C[SFX+S2]/DT-2*C.C[SFX+S3]/DT-2*C.C[SFX+S4]/DT+2*C.C[SFY+S1]/DU-2*C.C[SFY+S2]/DU-2*C.C[SFY+S3]/DU+2*C.C[SFY+S4]/DU+1*C.C[SFXY+S1]/(DT*DU)+1*C.C[SFXY+S2]/(DT*DU)+1*C.C[SFXY+S3]/(DT*DU)+1*C.C[SFXY+S4]/(DT*DU);

    библиотека http://alglib.sources.ru/
    модуль spline2d.pas
    произвольный кусочек кода

    MrShoor, 20 Марта 2010

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

    +188.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
    SELECT
    CONCAT('<td align=center><input type=Checkbox name=del[] value=', t1.id, '>') AS 'X'
    ,CONCAT('<td align=center>', t1.id) AS '\#'
    ,CONCAT('<td align=center><a href=index.php?func=$func&ptab=$ptab&pid=$pid&id=',  t1.id, '>', IF(t1.name<>'', t1.name, '<i>Pending...</i>'), '</a>') AS 'Transaction ID'
    ,CONCAT('<td><a href=index.php?func=user&id=',  t2.id, '>', CONCAT(t2.fname, ' ', t2.lname), '</a>') AS 'User'
    ,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>history</a>') AS 'Med'
    ,CONCAT('<td align=right>', t1.amt, ' ') AS 'Amount'
    ,CONCAT('<td align=center style=\"font-size: 10px;\" title=\"', t1.data_ord, '\">',  LEFT(t1.data_ord, 10)) AS 'Order date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_pay, LEFT(t1.data_pay, 10), '<b>Not paid</b>')) AS 'Pay date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_send, LEFT(t1.data_send, 10), '<b>Not sent</b>')) AS 'Send date'
    ,CONCAT('<td align=center><a href=index.php?func=items&ptab=$func&pid=',  t1.id, '>', sum(t3.quant), ' Items</a>') AS '# items'
    #,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>', count(t7.id), ' answ</a>') AS '# answ'
    ,CONCAT('<td align=center>', CASE WHEN (t1.sv_type=2) THEN \"Waiting\" WHEN (t1.sv_type=-2) THEN \"<font color=FF0000><b>Rejected</b></font>\" WHEN (t1.sv_type=-1) THEN \"<font color=FF0000>Declined</font>\" WHEN (data_send AND track_num2 <> '') THEN \"<b>Re-Done</b>\" WHEN (data_send) THEN \"<b>Done</b>\" WHEN (t1.sv_type=1) THEN \"<font color=008080>Ready to ship</font>\" WHEN (data_pay) THEN \"<font color=008000>Approved</font>\" WHEN (t1.err > 0) THEN \"<font color=FF0000>Failed</font>\" ELSE \"<font color=808080>Pending</font>\" END) AS 'Status'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.doctor) AS 'D'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.bonus) AS 'B'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.err) AS 'Err'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.sv_type) AS 'S#'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.pay) AS 'PM'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.partner) AS 'P'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  MID(t6.url, 8)) AS 'Shop'
    ,CONCAT('<tr><td colspan=19 style=\"font-size: 10px;\"><a target=\"_blank\" href=\"',  t1.referer, '\"><b>URL Referrer</b>: ', LEFT(t1.referer, 150), '</a><tr><td colspan=19 bgcolor=55555>') AS ''
    
    FROM $func t1
     и т.д.

    Такой вот sql-запрос с html разметкой. А вы говорите MVC :)

    awax, 17 Марта 2010

    Комментарии (20)
  11. PHP / Говнокод #2664

    +163.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $udate = mktime(
      0,0,0,
      $_REQUEST["udate"][3] . $_REQUEST["udate"][4],
      $_REQUEST["udate"][0] . $_REQUEST["udate"][1],
      $_REQUEST["udate"][6] . $_REQUEST["udate"][7] . $_REQUEST["udate"][8] . $_REQUEST["udate"][9]
    );

    Продолжение феерической истории о том, как один мальчег не знал регулярок. Да что там регулярок...

    Johnny, 25 Февраля 2010

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