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

    В номинации:
    За время:
  2. Куча / Говнокод #12195

    +120

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <style>
    .pitalic {
        font-style:italic;
    }
    </style>
    <p class = 'pitalic'>блаблабла</p>

    прям новый супергерой...

    Snickers, 25 Ноября 2012

    Комментарии (11)
  3. Си / Говнокод #12156

    +137

    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
    /* ... */
        HWND    mywnd   = NULL;
    /* ... */
    
    #ifdef WIN32
        mywnd = GetForegroundWindow();
        if(GetWindowLong(mywnd, GWL_WNDPROC)) {
            for(i = 1; i < argc; i++) {
                if(verbose_options(argv[i]) < 0) break;
                switch(argv[i][1]) {
                    case 'f': i++;  break;
                    case 'F': i++;  break;
                    case 'L': i++;  break;
                    case 'a': i++;  break;
                    default: break;
                }
            }
            if(i > argc) i = argc;
            i = 3 - (argc - i);
            if(i > 0) {
                fprintf(stderr,
                    "- GUI mode activated, remember that the tool works also from command-line\n"
                    "  where are available various options like folder scanning, filters and so on\n"
                    "\n");
                /* дальше пляски с извлечением параметров из argv */
            }
        }
    #endif

    Наткнулся на утилиту, которая умеет отличать запуск из гуев и из консоли. Полез глядеть, как сделано, а там вот такие чудеса.

    PascalGovno, 20 Ноября 2012

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

    +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
    class A
    {
    public:
            A () : p (new SomeType)
            {
                    assert ("It must be non-zero" && p);
            }
            ~A ()
            {
                    Box <SomeType> deleter (p);
                    p = 0;
            }
    private:
            SomeType *p;
    };

    А вот и применение класса Box

    Setry, 19 Ноября 2012

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

    +49

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if($model->validate(array('code')))
    {
    	$model->addError('code', 'Введен неверный код купона. Купон с таким кодом уже существует.');
    }
    else
    {
    	if($model->save())
    	{
    		$this->redirect(array('view','id'=>$model->id));
    	}
    }

    sleeper, 12 Ноября 2012

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    if (trim((string) $_GET['tag'])) {
        $current = $conn->fetchAll("SELECT LOWER('" . (string) $_GET['tag'] . "') as `tag`");
        $current = $current[0]['tag'];
    }

    UnnamedUser, 09 Ноября 2012

    Комментарии (11)
  7. 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)
  8. C++ / Говнокод #12061

    +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
    26. 26
    27. 27
    28. 28
    29. 29
    void keyStart(int key,void (*func)())
    {
      while(SDL_PollEvent(&keyEvent))
      {
        switch(keyEvent.type)
        {
          case SDL_KEYDOWN:
            switch(keyEvent.key.keysym.sym)
            {
              /*Выход*/
              case SDLK_ESCAPE:
              func();
              break;
              case SDLK_w:
              func();
              break;
              case SDLK_q:
              func();
              break;
              default:
              break;
            }
          break;
          default:
          break;
        }
      }
          
    }

    Функция высшего порядка, мужики. Сами знаете откуда.

    LispGovno, 06 Ноября 2012

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

    −156

    1. 1
    2. 2
    3. 3
    Говнокод, выручай пишу быстро. Работаю дома, так же как и ты наверно, у нас есть модем мегафон 4G.
    Я не знал что там трафик не безлимитный. Сейчас мамка хочет сделать запрос сайтов, точнее уже начала смотреть.
    Я смотрел на порно и дрочил, что делать?

    serpinski, 04 Ноября 2012

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

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    говорят, что на PL/1 это работает:
    
    if if = then then
        then = else;
    else else = if;

    dim1r, 25 Октября 2012

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

    +49

    1. 1
    2. 2
    3. 3
    4. 4
    ob_start();
    require_once realpath('.').'/email-template.html';
    $messageWithEwlTrailer = ob_get_contents();
    ob_end_clean();

    no comments

    anycolor, 18 Октября 2012

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