1. C++ / Говнокод #7570

    +160

    1. 1
    typedef _My unsigned int UINT_PTR, *PUINT_PTR;

    Говногость, 17 Августа 2011

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

    +169

    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
    // Конструктор
    [...]
    $this->Messages = array(
            1 => 'Card succesfull edited !',
            2 => 'Error, edited card !',
            3 => 'Was change succesfull.', // Тут индекс = 3
            4 => 'Was change succesfull.', // А тут = 4. Сечешь разницу?
            5 => 'Change status...',
            6 => 'Comment added succesful',
            7 => 'Comment expediated !', // Коммент ушел в экспедицию 
            8 => 'The card was droped succesgul.', // succesGul
            9 => 'Can\'t to delete this card.', // I don't to know php and to have no idea about english
            10 => 'Can\'t do upload file.',
            11 => 'File was uploaded successful.',
            12 => 'The eacuation was succesfull.', // Успешная эякуляция :O
            13 => 'Eacuation !' // Эякуляция !
        );
    [...]
    
    // Сохранение в базу
    // - Папа, папа, а SQL Injection существует? - Нет сынок..........
    $this->SUA_DB->query("INSERT INTO cards SET type='{$_POST['selector_type']}',name='{$_POST['card']}',user = '{$this->user_id}', description='{$_POST['descr']}', project='{$_POST['selector_project']}', category='{$_POST['selector_category']}' ") &
    $this->Msg->SetMsg (vsprintf($this->Messages[7],$_POST['card'])) :
    $this->Msg->SetMsg ($this->Messages[6]) &
    $this->Msg->SetError(true);
    // Из область фантастики

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

    Особенно понравившиеся строки прокомментировал

    cephuo, 17 Августа 2011

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

    −85

    1. 1
    (1 if not i%2 else 2)

    Fai, 17 Августа 2011

    Комментарии (6)
  4. Java / Говнокод #7567

    +78

    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
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    public class LoadManager
    {
        public static Integer DEFAULT_MAX_LOAD_COUNTER = 2;
    
        private ConcurrentHashMap<Class, Integer> loadCounters = new ConcurrentHashMap<Class, Integer>();
    
        public void incLoadCounter(Class clazz)
        {
            synchronized (loadCounters)
            {
                if (!loadCounters.containsKey(clazz))
                {
                    loadCounters.put(clazz, 0);
                }
    
                if (loadCounters.get(clazz) <= DEFAULT_MAX_LOAD_COUNTER)
                {
                    loadCounters.put(clazz, loadCounters.get(clazz) + 1);
                }
            }
        }
    
        public void testLoadCounterAndWait(Class clazz)
        {
            synchronized (loadCounters)
            {
                if (!loadCounters.containsKey(clazz))
                {
                    loadCounters.put(clazz, 0);
                }
            }
            
            try
            {
                while (loadCounters.get(clazz) > DEFAULT_MAX_LOAD_COUNTER)
                {                
                    Thread.sleep(3000L + (long)Math.floor(5000 * Math.random()));
                }
            }
            catch (InterruptedException e) {}        
        }
    
        public void decLoadCounter(Class clazz)
        {
            synchronized (loadCounters)
            {
                if (!loadCounters.containsKey(clazz))
                {
                    loadCounters.put(clazz, 0);
                }
    
                if (loadCounters.get(clazz) > 0)
                {
                    loadCounters.put(clazz, loadCounters.get(clazz) - 1);
                }
            }
        }
    }

    Наверное, нужно было вот это: http://download.oracle.com/javase/1,5.0/docs/api/java/util/concurrent/Semaphore.html
    Ну и ещё порадовал способ постановки потоков в "очередь".

    konsoletyper, 17 Августа 2011

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Сори что сюды, но тут быстрее всего получить ответ)))
    Можете заслуженно ставить минусы.
    Как мне получить доступ к типу обьявленному и зависящему от параметров по имени переменной?
    Хочу сделать что то типа:
    const typeof(c->active)::entry * const e = c->active.GetEntry(i);
    вместо
    const structs::local_db<package, 64, type>::entry *const (на практике символов больше)
    
    взять к примеру те же итераторы.
    
    P.S больше не буду, но мне показалось это говнокодом)

    Enelar, 17 Августа 2011

    Комментарии (5)
  6. JavaScript / Говнокод #7565

    +169

    1. 1
    2. 2
    var elemID = ui.item.attr('id');
    var elemClass = $("#"+elemID).attr('class');

    Self made!

    Nemez, 17 Августа 2011

    Комментарии (4)
  7. Python / Говнокод #7564

    −92

    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
    def clean_node(node, debug=False):
        """
            Этот пример скопипащен из книги
            "Как не должен выглядеть код"
        """
        if node['sub']:
            sub = []
            num = 1
            for item in node['sub']:
                i = clean_node(item, debug)
                if i:
                    sub.append(i)
                    num += i['num']
            node['sub'] = sub
            node['num'] = num
        else:
            node['num'] = 1
        if node['deleted']:
            if node['sub']:
                return node
        else:
            return node
    
        return None

    Мне достался в наследство большой проект, в котором порой встречается вот такое. Единственное, что радует это подобные комментарии )

    kvex, 17 Августа 2011

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

    −116

    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
    BOOL levelClosed = YES;
    if (indexPath.row == 0)
    {
    	levelClosed = NO;
    }
    else
    {
    	iPadLevelDescriptor *prevLvlDescription = [levels objectAtIndex:(indexPath.row-1)];
    	scoresObject *prevLevelScoresObject = [ScoresTableUIViewController loadScoresForLevel:[[prevLvlDescription properties] objectForKey:kiPadLevelName]];
    	if (prevLevelScoresObject != nil)
    		levelClosed = ![prevLevelScoresObject completed];
    }
    levelClosed = NO;
    [cell setClosed:lvlClosed];

    Закрыт ли уровень?..

    1101_debian, 17 Августа 2011

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

    +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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    switch (SelItemZoom.Text)
                {
                    case "25%":
                        CRVDoc.Zoom(25);
                        break;
    
                    case "50%":
                        CRVDoc.Zoom(50);
                        break;
    
                    case "75%":
                        CRVDoc.Zoom(75);
                        break;
    
                    case "100%":
                        CRVDoc.Zoom(100);
                        break;
    
                    case "125%":
                        CRVDoc.Zoom(125);
                        break;
    
                    case "150%":
                        CRVDoc.Zoom(150);
                        break;
    
                    case "175%":
                        CRVDoc.Zoom(175);
                        break;
    
                    case "200%":
                        CRVDoc.Zoom(200);
                        break;
                }

    Человек перед этим наверно прочитал про switch.

    Ky7m, 17 Августа 2011

    Комментарии (40)
  10. PHP / Говнокод #7561

    +173

    1. 1
    define('style', '<link rel="stylesheet" type="text/css" href="/style.css">');

    такого еще не встречал... o_O

    Sulik78, 17 Августа 2011

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