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

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

    +155.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php 
    
    $Fnm = $mosConfig_absolute_path .'/components/'.$option.'/cron.php';
    $inF = fopen($Fnm,"w");
    fwrite($inF,'<?php $last_cron_date='.$last_cron_date.';?>');
    fclose($inF);

    всеми любимая джумла... а точнее один из её компонентов... строка 1846-ая...

    почему собственно гадость:
    1. а если нету доступа на запись...
    2. не безопасно
    3. если в файле что-нибудь будет не так - обвалится весь сайт, потому как ошибко php
    4. я настороженно отношусь к файлам по 2246 - строк ... уж больно много всего...

    nicolay-punin, 29 Декабря 2009

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

    +124.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
    Functions called:
     fflush (4 times)
     delete (11 times)
     fclose (1 times)
     free (11 times)
     fread (3 times)
     fopen (1 times)
     vsnprintf (4 times)
     new (11 times)
     SysReallocMem (652 times)
     SysFreeMem (13185 times)
     SysGetMem (13188 times)
     lstrlenA (1 times)
     lstrcpynA (4 times)
     calloc (1 times)
     strlen (98 times)
     realloc (1 times)
     strdup (1 times)
     malloc (8 times)
     memcpy (4 times)
    Resource types used:
     object (11 allocs, 11 max)
     memory block (13199 allocs, 4007 max)
     file stream (1 allocs, 1 max)
     file handle (1 allocs, 1 max)

    Nemerle, 29 Декабря 2009

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

    +59.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //и теперь шлём запрос письма
                        reply = QString("<iq type='get' from='%1' to='%2' id='mail-request-%3'>"\
                            "<query xmlns='google:mail:notify' %4 %5/></iq>")
                                .arg(from)
                                .arg(to)
                                .arg(id)
                                .arg((lastCheck.value(QString("%1").arg(account),"")=="")?QString(""):QString("newer-than-time='%1'").arg(lastCheck.value(QString("%1").arg(account))))
                                .arg((lastTid.value(QString("%1").arg(account),"")=="")?QString(""):QString("newer-than-tid='%1'").arg(lastTid.value(QString("%1").arg(account))));
                        stanzaSender->sendStanza(account, reply);

    Раскопано в недрах плагинов к psi:
    Особенно радует шедевральная конвертация int'а в строку при помощи QString("%1").arg(account),"")
    Плюс ко всему комменты на русском в интернациональном проекте это немножко моветон

    Sauron, 29 Декабря 2009

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

    +159.3

    1. 1
    echo '(!009`")24($!9l`342)+%2a' ^ '@@@@@@@@@@@@@@@@@@@@@@@@', PHP_EOL;

    [email protected], [email protected]

    HyperGeek, 23 Декабря 2009

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

    −96

    1. 1
    2. 2
    {//}l:= a+sqrt(b); 
    {//}r:= c+sqrt(d);

    Ещё из одного исходника олимпиадной задачи. Не удалять же символы комментов, если их можно закомментить?

    Сан Саныч, 19 Декабря 2009

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

    +152.6

    1. 1
    2. 2
    3. 3
    <?php
       unset($_SESSION['ticket']); 
       $_SESSION['ticket'] = $ticket;

    масло маслянное... ну прям как в анекдоте про два джампа...

    nicolay-punin, 09 Декабря 2009

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

    −124.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
    #!/bin/bash
    cc=0
    cf=`cat $1`
    key=$2
    cbc=`cat $1 | wc -c`
    lc=`cat $1 | wc -l`
    while let "lc>=0"
    do
    cfl=`cat $1 | head -n $lc | tail -n 1`
    let lc--
    ccc=`echo $cfl | wc -c`
    cccc=0
    while let "cccc<=ccc"
    do
    sl=`echo -n ${cfl:$cccc:$key} | rev`
    echo $sl
    let "cccc=cccc+key"
    done
    done

    Alice, 06 Декабря 2009

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

    +89.5

    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
    private void ProcessActionsLookup(object sender)
            {
                LookUpEdit lookUpEdit = sender as LookUpEdit;
                if (lookUpEdit != null)
                {
                    if (lookUpEdit.EditValue != null)
                    {
                        if (lookUpEdit.EditValue.Equals(currentActionLookupValue))
                        {
                            if (actionsGridControlBindingSource.Current != null &&
                                !_presenter.ActionHasProperParameters(actionsGridView.FocusedRowHandle))
                            {
                                SetDataSourceForInnerGrid(sender);
                            }
                        }
                        else
                        {
                            SetDataSourceForInnerGrid(sender);
                        }
                    }
                    else
                    {
                        SetDataSourceForInnerGrid(sender);
                    }
                }
            }

    Мы пойдем другим путем.
    Некоторые скажут что в представленном контексте абсолютно нормальный код, я все же не соглашусь

    codeposter, 03 Декабря 2009

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

    +136

    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
    public string generateEMail()
    		{
    			string res;
    			int i = PersonName.IndexOf(" ");
    			char[] str1 = new char[i];
    			PersonName.CopyTo(0, str1, 0, i);
    			string str11 = new string(str1);
    			char[] str2 = new char[PersonName.Length - i - 1];
    			PersonName.CopyTo(i + 1, str2, 0, PersonName.Length - i - 1);
    			string str22 = new string(str2);
    			res = str11.ToString() + "." + str22.ToString();
    			if (res.Length > 20)
    			{
    				str1 = new char[20];
    				res.CopyTo(0, str1, 0, 20);
    				res = new string(str1);
    			}
    			res += "@domain.ua";
    			return res;
    		}

    Вот вам шаблон для получения емейла из имени и фамилии сотрудника.

    Woonder, 10 Ноября 2009

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

    +159.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
    $string=$_GET['textarea'];
    $Words = explode(" ", $string);
    $Freq = array();
    for($i=0; $i<20; $i++)
        {$Freq[] = 0;		
    }
    foreach($Words as $k=>$v)
    {
        $length = strlen($v);
        $strlength = intval($length);
        $Freq[$strlength] += 1;
    }
    foreach($Freq as $k=>$v)
        {if ($v > 0)
            echo "Number of words with $k letters: $v <br>";
    }

    Так человек считает количество слов в тексте

    striker, 07 Ноября 2009

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