1. PHP / Говнокод #3005

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function realize ($source) ## Ха!
    {
    	return serialize ($source);
    }
    
    function unrealize () ## Ха-ха!
    {
    	return unserialize ($source);
    }

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

    rkin, 14 Апреля 2010

    Комментарии (16)
  2. PHP / Говнокод #3004

    +147.6

    1. 1
    $date = implode("-", array_reverse(explode(".", $date)));

    Зеркалим дату (ГГГГ.ММ.ДД -> ДД.ММ.ГГГГ).

    AntonioK, 14 Апреля 2010

    Комментарии (14)
  3. C++ / Говнокод #3003

    +905.2

    1. 1
    2. 2
    3. 3
    4. 4
    if ( tmp - res == 11 )
    {
    tmp = tmp;
    }

    Нашел в проэкте сегодня. Кто отгадает, зачем этот код был нужен - тому ничего не будет.

    phizik, 14 Апреля 2010

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

    +49.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    bool ok;
    double d;
    
    QLocale c(QLocale::C);
    d = c.toDouble( "1234.56", &ok );  // ok == true, d == 1234.56

    Ссылка на bool!

    mock, 14 Апреля 2010

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

    +64.8

    1. 1
    2. 2
    3. 3
    4. 4
    long timer = -System.currentTimeMillis();
    method.invoke(...);
    timer += System.currentTimeMillis();
    log.info("Executed: " + timer + " ms.");

    Obychno ja delaju dve peremennyje start i end:
    long start = System.currentTimeMillis();
    method.invoke(...);
    long end = System.currentTimeMillis();
    log.info("Executed: " + (end-start) + " ms.");

    Inogda ewe ljudi pishut s odnoj peremennoj, no tut vpolne ponjatno, chto v nej hranitsja:
    long t = System.currentTimeMillis();
    method.invoke(...);
    t = System.currentTimeMillis() - t;

    A vot zafigachit' v peremennuju "timer" OTRITSATEL'NOJE znachenije - eto da...

    asolntsev, 13 Апреля 2010

    Комментарии (1962)
  6. bash / Говнокод #3000

    −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
    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
    #! /bin/bash
    
    # настройки
    # id художника (athid) берется из URL вида http://www.pixiv.net/member_illust.php?id=18530, где 18530 и есть искомый параметр.
    pixid=LOGIN
    pixpass=PASSWORD
    picnum=$2
    let "pagenum=picnum/20+1"
    athid=$1
    
    # логинимся (куки в pixiv.txt)
    AUTH=`curl -s -c pixiv.txt -F"mode=login" -F"pass=${pixpass}" -F"pixiv_id=${pixid}" -F"skip=1" http://www.pixiv.net/index.php`
    
    # качаем все страницы с картинками и парсим их на ходу
    for ((i=1;i<=$pagenum;i++))
    do
    wget --load-cookies=pixiv.txt "http://www.pixiv.net/member_illust.php?id=$athid&p=$i" -O - --referer="http://www.pixiv.net/"|pcregrep -o 'http\:\/\/img\d{1,3}\.pixiv\.net\/img\/[^\"]+'|sed 's/_s//' >> get.pixiv.txt
    done;
    
    # качаем все картинки, которые нашли
    
    wget -nc -i get.pixiv.txt --referer="http://www.pixiv.net/"
    
    cat get.pixiv.txt | sed 's/http\:\/\/img[^\/]\+\/img\/[^\/]\+\///' > list1
    ls *.jpg *.png *.gif > list2
    cat list1 list2|sort|uniq -u|pcregrep -o '[^\.]+' > list3
    for i in `cat list3`
    do
    wget "http://www.pixiv.net/member_illust.php?mode=manga&illust_id=$i&type=scroll"  --load-cookies=pixiv.txt  --referer="http://www.pixiv.net/" -O -|pcregrep -o 'http\:\/\/img\d{1,3}\.pixiv\.net\/img\/[^\"]+'>> get.pixiv.albums.txt
    done;
    
    wget -nc -i  get.pixiv.albums.txt --referer="http://www.pixiv.net/"
    
    # удаляем палево
    
    #rm -f pixiv.txt get.pixiv*.txt list*

    Качалка картинок с pixiv.net с дебильным алгоритмом отсеивания альбомов от картинок.

    Radjah, 13 Апреля 2010

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

    +126

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    try
    {
         ....
         com.ExecuteNonQuery();
    }
    catch (Exception ex) { }
            finally
            {
                con.Close();
      }

    ASP.NET
    Вот так вот обрабатываем ошибки, за которые получаем ПИЗДЫ.
    Интересно а откуда ж нам об них узнатьтаа :)))

    otvet_popravkodon, 13 Апреля 2010

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

    +116.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    string text = MyReader[2].ToString();
        tt = new TableRow();
        string css_clss = (text == "ИТОГО") ? "gr1" : "gr2";
        int lvl = Convert.ToInt32(MyReader[1].ToString());     
        tt.CssClass = css_clss;

    ASP.NET
    //Это просто в ТОП 1. Выхватывать уровень группировки SQL по слову ИТОГО, учитывая что слово Итого может изменится и процедура возвращает уровень. lvl = 5 это ИТОГОВЫЙ уровень

    otvet_popravkodon, 13 Апреля 2010

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

    +121.8

    1. 1
    int lvl = Convert.ToInt32(reader[0].ToString());

    ASP.NET
    Из текста это получается лучше сделать
    reader = SqlDataReader

    otvet_popravkodon, 13 Апреля 2010

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

    +117.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
    string GetTextDiv2(string text)
        {
            int mid = text.Length / 2;
            int r = text.IndexOf(" ", mid); if (r < 0) r = 5000;
            int l = text.IndexOf(" ", 0, mid); if (l < 0) l = 5000;
            if (r - mid > mid - l) // to left is closer
                mid = l;
            else mid = r;
    
            if (mid == 5000) return "&nbsp" + text;
            return "&nbsp" + text.Substring(0, mid) + " <br/>&nbsp" + text.Substring(mid, text.Length - mid);
        }

    ASP.NET
    // это красота просто :) делим текст пополам там где пробел, а дальше добавляем между частями перенос на новую строку :)

    otvet_popravkodon, 13 Апреля 2010

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