1. 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)
  2. PHP / Говнокод #12079

    +43

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

    avixyu, 08 Ноября 2012

    Комментарии (4)
  3. 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)
  4. 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)
  5. 1C / Говнокод #12076

    −123

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

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

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

    nixel, 08 Ноября 2012

    Комментарии (7)
  6. Куча / Говнокод #12075

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    data Fuuu = Fuuu
    instance Eq Fuuu
     
    main = print $ if Fuuu == Fuuu then "I dosen't seen this" else "and this"

    Вот за что мне нравится сверх надежный высокоуровневый хаскель, так за то, что если забыл переопределить какой-то метод или оператор из класа типов (в нормальных языках это интерфейс или один из базовых класов) стандартной библиотеки языка или неподходящим образом от него отнаследовался, то мы получаем надежное поведение:
    http://ideone.com/6faPct
    результат: Ошибка выполнения время: 0.01s память: 3580 kB сигнал: -1
    ввод: нет
    вывод: нет
    stderr:
    prog: <<loop>>

    HaskellGovno, 07 Ноября 2012

    Комментарии (19)
  7. Куча / Говнокод #12074

    +126

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    infixr 6 `then'`
    then' True = fst
    then' False = snd
    if' = id
    else' suc fail = (suc, fail)
    main = do
        print $ if' (1<5) `then'` "true" `else'` "false"
        print $ if' False `then'` "true" `else'` "false"

    bormand
    У ифа особый синтаксис. Как ты его реализуешь?
    Challenge accepted:
    Сначала был тред
    http://govnokod.ru/12068#comment159236
    а потом родилось говно:
    http://ideone.com/rOKDPP
    Реализовал if. За правильными приоритетами операций и ассоциативностью не следил.

    HaskellGovno, 07 Ноября 2012

    Комментарии (23)
  8. PHP / Говнокод #12073

    +39

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // validation
    $validationOK=true;
    if (!$validationOK) {
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
      exit;
    }

    jQuery, 07 Ноября 2012

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

    +142

    1. 1
    require_once __DIR__ . '/composer' . '/autoload_real.php';

    Symfony 2

    prodigy, 07 Ноября 2012

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

    +18

    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
    #include <iostream>
     
    int main() {
        // Инициализируй меня... полностью.
        void (*(&(*omg[])())[1]) (void (*)(void (*(*[])())())) = { [] () ->
        void (*(&)[1]) (void (*)(void (*(*[])())())) { static void (*f[])
        (void (*)(void (*(*[])())())) = { [] (void (*f)(void (*(*[])())())) {
        static void (*(*ff[])())() = { [] () -> void (*)() { return [] () {
        std::cout << "Test OK" << std::endl; }; } }; f(ff); } }; return f; } };
     
        // Вызывай, вызывай меня... полностью.
        omg[0]()[0]([] (void (*(*f[])())()) { f[0]()(); });
     
        return 0;
    }

    http://ideone.com/gvg1B7

    Говнокоду http://govnokod.ru/12066 посвящается.

    Инициализация массива указателей на функции, возвращающих ссылку на массив указателей на функции принимающие указатель на функцию, принимающую массив указателей на функции, возвращающих указатель на функцию ничего не принимающую и ничего не возвращающую.

    С++ это простой и наглядный язык.

    bormand, 07 Ноября 2012

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