1. Java / Говнокод #11301

    +83

    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
    private String toHTML(String unicode)
        {
            String output = "";
    
            char[] charArray = unicode.toCharArray();
    
            for (int i = 0; i < charArray.length; ++i)
            {                        
                if ((int)charArray[i]>255)
                {
                    String s = ""+Integer.toHexString(charArray[i]);
                    switch (s.length())
                    {
                        case 1: s="\\u000"+s; break;
                        case 2: s="\\u00"+s; break;
                        case 3: s="\\u0"+s; break;
                        case 4: s="\\u"+s; break;
                        default: throw new RuntimeException( s +" is tool long to be a Character");
                    }
                    output += s;
                }
                else
                {
                    output += charArray[i];
                }
                
            }
            return output;
        }

    Эпичнейший говнокод! На серваке top показывает нагрузку 10-12. 3000 пользователей, 100 нод, интеграция с SAP, который пачками проводит документы и выдаёт цены, отчёты по остаткам и т.п. И всё это, как оказалось, капля в море по сравнению с 5 человеками техподдержки, которые сидят в аяксовой консоле мониторинга, для которой HTTP-ответ экранируется данным шедевром. Без этого шедевра нагрузка держится в районе 2-3 даже при достаточно большой активности.

    konsoletyper, 26 Июня 2012

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

    +67

    1. 1
    $this->bgcolor = $bgcolor ? ($bgcolor <= 0xFFFFFF) ? ($bgcolor > 0xFFFFFF) ? 0xFFFFFF : $bgcolor : 0x000000 : 0xFFFFFF;

    FFFFFFFFFFFFFFFFFFFFFFF

    Razban_Guestov, 26 Июня 2012

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function isAdmin() {
            $admins = Model::factory('User')->where('access_level_id', 1)->find_many();
            $ids = array();
            foreach($admins as $admin) {
                $ids[]= $admin->id;
            }
            return in_array($this->id, $ids) ? true : false;
        }

    Метод проверки на админе из модели пользователей. Не, ну а чо.

    mr.The, 26 Июня 2012

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

    +20

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // заполнение массива случайными числами
    template <typename T> void fill_array_with_random( T array[], size_t length ) {
    	for ( size_t i = 0; i < length; i++ ) { 
    		array[i] = rand();
    	}
    }

    Главный недостаток - K&R indent style.

    Fai, 26 Июня 2012

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
    	chrome.tabs.update(tabInfo.tabId, {"active" : true}); // chrome 15+
    } catch (e) {
    	chrome.tabs.update(tabInfo.tabId, {"selected" : true}); // older
    }

    Это ни капли не говнокод. Это - результат breaking changes в chrome.tabs API, про которое нигде не написали и из-за которого ваши расширения для Chrome, использующие chrome.tabs API могут запросто не работать в относительно старых версиях Chrome. При том, что заявлена поддержка Chrome 9+. Из-за такого странного подхода приходится городить такие конструкции, которые выглядят как непонятный говнокод для непосвященных людей.

    1999, 25 Июня 2012

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

    +77

    1. 1
    2. 2
    3. 3
    public static boolean isNull(Collection collection) {
        return collection == null;
    }

    mychka, 25 Июня 2012

    Комментарии (13)
  7. ActionScript / Говнокод #11295

    −155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    override public function execute():void
    {
    	var maintainProductAttributePresenter:ITableBasedPresentrer = this.appPresenter.maintainProductAttributePresenter;
    	var maintainProductAttributeView:View = maintainProductAttributePresenter.view;
    
    	this.appView.showModuleView(maintainProductAttributeView);
    	this.appView.showModuleHeader(maintainProductAttributePresenter.getModuleTitle());
    
    	maintainProductAttributePresenter.updateData();
    }

    Сижу, копипазжу... Специально не стала выбиваться из стандарта... Может хоть на секунду мысль о том что мы занимаемся маразмом кому нибудь в голову придет?

    kyzi007, 25 Июня 2012

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

    −32

    1. 1
    2. 2
    3. 3
    4. 4
    Fixed& operator +=(Fixed a) { return *this = *this + a; return *this; }
    Fixed& operator -=(Fixed a) { return *this = *this - a; return *this; }
    Fixed& operator *=(Fixed a) { return *this = *this * a; return *this; }
    Fixed& operator /=(Fixed a) { return *this = *this / a; return *this; }

    http://wiki.yak.net/675/fixed.h
    посоны, зачем так сделано?

    TarasB, 25 Июня 2012

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

    −116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ВЫБОР 
    КОГДА ПолФизическихЛиц.Ссылка = "Женский" 
    ТОГДА "М" 
    ИНАЧЕ "Ж" 
    КОНЕЦ

    Вот такой вот забавный запрос

    glavdir, 25 Июня 2012

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

    −85

    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
    if ([stringMonth isEqualToString:NSLocalizedString(@"M1", nil)]) {
            stringMonth = @"01";}
        else if ([stringMonth isEqualToString:NSLocalizedString(@"M2", nil)]) {
                stringMonth = @"02";}
            else if ([stringMonth isEqualToString:NSLocalizedString(@"M3", nil)]) {
                    stringMonth = @"03";}
                else if ([stringMonth isEqualToString:NSLocalizedString(@"M4", nil)]) {
                        stringMonth = @"04";}
                    else if ([stringMonth isEqualToString:NSLocalizedString(@"M5", nil)]) {
                            stringMonth = @"05";}
                        else if ([stringMonth isEqualToString:NSLocalizedString(@"M6", nil)]) {
                                stringMonth = @"06";}
                            else if ([stringMonth isEqualToString:NSLocalizedString(@"M7", nil)]) {
                                    stringMonth = @"07";}
                                else if ([stringMonth isEqualToString:NSLocalizedString(@"M8", nil)]) {
                                        stringMonth = @"08";}
                                    else if ([stringMonth isEqualToString:NSLocalizedString(@"M9", nil)]) {
                                            stringMonth = @"09";}
                                        else if ([stringMonth isEqualToString:NSLocalizedString(@"M10", nil)]) {
                                                stringMonth = @"10";}
                                            else if ([stringMonth isEqualToString:NSLocalizedString(@"M11", nil)]) {
                                                    stringMonth = @"11";}
                                                else if ([stringMonth isEqualToString:NSLocalizedString(@"M12", nil)]) {
                                                        stringMonth = @"12";}

    Как-то так, че.

    1101_debian, 25 Июня 2012

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