1. Куча / Говнокод #12085

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    main =do
            let b = 56
            let b = b+1
            print b

    Зачем есть возможность задавать переменные с однаковыми именами, если их использовать ниже всё равно нельзя?
    http://ideone.com/b1DGYF

    LispGovno, 09 Ноября 2012

    Комментарии (26)
  2. Java / Говнокод #12084

    +73

    1. 1
    http://javadoc.bugaco.com/com/sun/java/swing/plaf/nimbus/InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonPainter.html

    Найдено знакомым, я ток опубликовал.

    wvxvw, 09 Ноября 2012

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

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    data Trivalent = TriFalse | TriUnknown | TriTrue deriving (Show, Eq, Ord)
    
    (&) :: Trivalent -> Trivalent -> Trivalent -- &&
    (!) :: Trivalent -> Trivalent -> Trivalent -- ||
    nt :: Trivalent -> Trivalent -- not

    В хасскеле нет класса для логических значений. А значит хрен переопределишь операторы &&, || и функцию not

    Fai, 08 Ноября 2012

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

    +134

    1. 1
    2. 2
    3. 3
    4. 4
    for (int i = X; i <= (X + 1); i++)
        {
            for (int j = Y; j <= (Y + 1); j++)
            {

    Crazy_penguin, 08 Ноября 2012

    Комментарии (18)
  5. C# / Говнокод #12081

    +135

    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
    int index = 0;
            this.item[index].SetDefaults("Mining Helmet");
            index++;
            this.item[index].SetDefaults("Piggy Bank");
            index++;
            this.item[index].SetDefaults("Iron Anvil");
            index++;
            this.item[index].SetDefaults("Copper Pickaxe");
            index++;
            this.item[index].SetDefaults("Copper Axe");
            index++;
            this.item[index].SetDefaults("Torch");
            index++;
            this.item[index].SetDefaults("Lesser Healing Potion");
            index++;
            ...

    Crazy_penguin, 08 Ноября 2012

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

    +111

    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
    // todo
    /// <summary>
    /// Генерация пароля из GUID
    /// </summary>
    /// <param name="guid">GUID</param>
    /// <returns>пароль</returns>
    public string PasswordByGuid(string guid)
    {
        return guid[33].ToString()
            + guid[28].ToString()
            + guid[2].ToString()
            + guid[10].ToString()
            + guid[21].ToString()
            + guid[15].ToString();
    }

    Коммерческий проект :)

    ddv_demon, 08 Ноября 2012

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

    +43

    1. 1
    2. 2
    3. 3
    4. 4
    public static function create(AdGroupVO $vo)
    {
        UtilLog::debug('FUCK');
        ...

    avixyu, 08 Ноября 2012

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

    +22

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int AzFl_PSD_Image::ReadIntFromPsdFile(const unsigned char *offset)
    {
    	char i[4];
    	i[0] = offset[3];
    	i[1] = offset[2];
    	i[2] = offset[1];
    	i[3] = offset[0];
    	int *r = (int*)i;
    	return r[0];
    }

    Невиноватый я что програмисты из адоба биты задом на перед в файл пишут :`(

    Psionic, 08 Ноября 2012

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

    +16

    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
    QString QSqlResultPrivate::positionalToNamedBinding()
    {
        int n = sql.size();
    
        QString result;
        result.reserve(n * 5 / 4);
        bool inQuote = false;
        int count = 0;
    
        for (int i = 0; i < n; ++i) {
            QChar ch = sql.at(i);
            if (ch == QLatin1Char('?') && !inQuote) {
                result += qFieldSerial(count++);
            } else {
                if (ch == QLatin1Char('\''))
                    inQuote = !inQuote;
                result += ch;
            }
        }
        result.squeeze();
        return result;
    }
    
    // Пример запроса:
    // select * from some where d_t = "2012-11-08 12:00:00"

    Словили сегодня вот такой глюк в кутишечке.

    База данных отлично понимает строки и даты в двойных кавычках, все это даже работало какое-то время. Но когда попытались исполнить запрос с таймштампом в двойных кавычках (как в строке 25), начала возникать ошибка в духе "непонятные символы в дате". В одинарных же кавычках все работало. После копания в исходниках и гуглёжки выяснилась и причина - QtSql в упор не видит двойных кавычек, и пытается проставить в них именованные параметры (в нашем случае :00, :00)...

    Если кому нужен быстрофикс - берем тут: https://bugreports.qt-project.org/browse/QTBUG-27159

    bormand, 08 Ноября 2012

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

    −123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Запрос = Новый Запрос;
     Запрос.Текст = "какой-то там текст запроса с параметрами <Вариант> и <НеВариант>"
     
     Запрос.УстановитьПараметр("Вариант", ?(Вариант = Истина, Истина, Ложь));
     Запрос.УстановитьПараметр("НеВариант", ?(Вариант = Истина, Ложь, Истина));

    Упрощается все до ...("Вариант", Вариант) и ...("НеВариант", Не Вариант) (хотя два параметра, зависящие от одной переменной уже не ок)

    Теперь по офису на вопрос: "А можно ли упростить?" сразу летит в ответ сакральное "НЕ ВАРИАНТ!!!"

    nixel, 08 Ноября 2012

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