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

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

    +10

    1. 1
    http://ideone.com/VODKA

    Генерятся ж иногда адреса как надо

    absolut, 27 Октября 2015

    Комментарии (40)
  3. Java / Говнокод #18561

    +923

    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
    public class AnyNotNull<T> {
    
        public T get(T... args) {
            for(T t : args) {
                if (t != null)
                    return t;
            }
            return null;
        }
    
        public T getOrThrow(T... args) {
            T t = get(args);
            if(t == null)
                throw new NullPointerException("AnyNotNull. everything is null");
            return t;
        }
    
    }

    класс утилита

    _a_o_O, 02 Августа 2015

    Комментарии (40)
  4. Куча / Говнокод #17894

    +129

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for(const auto & row : table; const auto & element : row) {
        handle(element);
    }
    
    // versus
    
    for(const auto & row : table) {
        for(const auto & element : row) {
            handle(element);
        }
    }

    Всякого ненужного говна в новые крестостандарты насовали, а о простых вещах не подумали. Ну ведь удобней же было бы!
    Но не-ет, нам нужна функциональщина в крестах, ведь нам мало мозгоклюйства с другими языками; а давайте засунем в стандартную библиотеку либкайро, чтобы разработчики стандартных библиотек соревновались, кто быстрее запилит частичную поддержку в 95% случаев ненужной либы полутра операционными системами, куда-ах-тах-тах!
    Забавно, только что узнал, что в vs2013 есть шорткат ^ko, который переключает между заголовком и реализацией. ^ko^ko^ko

    Xom94ok, 30 Марта 2015

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

    −406

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Код конца 2014 года
    
        CGSize iOSDeviceScreenSize = [[UIScreen mainScreen] bounds].size;
        if (iOSDeviceScreenSize.height == 480)
            isRetina = true;
        else
            isRetina = false;5

    Headless, 23 Марта 2015

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

    +80

    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
    public class лаба22 {
    	int i;
    	лаба22(int k){
    	
    		i=k;}
    	
    	int [] a = new int [i];
    	
    	void длина(){
    		System.out.println(a.length);
    	}
    	public static void main(String[] args) {
    		лаба22 s = new лаба22(5);
    		s.длина();
    	}
    }

    Студеньтики... тупоголовые как и их преподы

    argamidon, 24 Февраля 2015

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach ($user as $field => $value) {
        if ($field == 'username') {
            $user[$field] = md5($value);
        }
    }

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

    mr-lekafe, 18 Ноября 2014

    Комментарии (40)
  8. Куча / Говнокод #16581

    +131

    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
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    module Main:
    	program factorial:
    		algorithm factorial:
    			description of the algorithm:
    				factorial of n is the algorithm that calculates the product of all the positive integers less than or equal to n.
    			end of description of the algorithm.
    			example of usage of the algorithm:
    				var1 is equal to call algorithm with parameter n which is equal to 5;
    					begin of a comment:
    						var1 is now1 120 = 5*4*3*2*1.
    						end of a comment.
    			end of example of usage of the algorithm.
    			description of author of the algorithm:
    				name: John.
    				surname: Smith.
    				date of writing of the algorithm: 2009.
    			end of description of author of the algorithm.
    			properties of the algorithm:
    				callable from other modules.
    				callable from this module.
    				can be used in expressions.
    			end of properties of the algorithm.
    			parameters of the algorithm:
    				data n: type is positive integer.
    			end of parameters of the algorithm.
    			variables of the algorithm:
    				data res: type is positive integer.
    				data now1: type is positive integer.
    			end of variables of the algorithm.
    			initialization of the variables of the algorithm:
    				res is equal to 1.
    				now1 is equal to n.
    			end of initialization of the variables of the algorithm.
    			begin of the algorithm:
    				cycle: while now1 is not 1, repeat:
    					res is equal to multiply res by now1.
    					now1 is equal to subtract 1 from now1.
    				end of cycle.
    				result of the algorithm is res
    		end of the algorithm.
    
    		algorithm main:
    			description of the algorithm:
    				main algorithm that shows the factorial of the inputted number.
    			end of description of the algorithm.
    			example of usage of the algorithm:
    			end of example of usage of the algorithm.
    			description of author of the algorithm:
    				name: John.
    				surname: Smith.
    				date of writing of the algorithm: 2009.
    			end of description of author of the algorithm.
    			properties of the algorithm:
    				callable from the system.
    			end of properties of the algorithm.
    			parameters of the algorithm:
    				data arguments: type is array of strings.
    			end of parameters of the algorithm.
    			variables of the algorithm:
    			end of variables of the algorithm.
    			initialization of the variables of the algorithm:
    			end of initialization of the variables of the algorithm.
    			begin of the algorithm:
    				call algorithm writeInteger with parameter str which is equal to
    					call algorithm factorial with parameter n which is equal to
    						call algorithm readInteger without parameters.
    				result of the algorithm is 0.
    		end of the algorithm.

    Небольшой ответ набирающему популярность WCT. Новый язык программирования LOOOONG:
    - Отступы обязательны.
    - Все блоки в функциях ("алгоритмах") обязательны.
    - блоки нужно записывать именно в таком порядке.
    - Имена параметров необходимо помнить, когда вызываешь "алгоритм".
    - Ключевых слов ОЧЕНЬ МНОГО.

    miscff, 22 Августа 2014

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

    −163

    1. 1
    2. 2
    3. 3
    4. 4
    Если ЗначениеЗаполнено(Сделка) И ЛЕВ(Сделка.Ссылка, 10) = "Заказ пост" Тогда
             //другой говнокод
    
    КонецЕсли;

    Правильная проверка типов

    alexinzaz, 14 Августа 2014

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

    +156

    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
    if ($.browser.msie && $.browser.version < 8) {
            $("div.banneritem:gt(0)").remove();
                    $("#viewnow").remove();
                    $("#morerealestates").css("margin-top", "-26px");
                    $("img[align=right]").css("float", "right");
       }
       else {
            setTimeout(function(){
                    slider();
            }, 0);
       }
           
            var got = $("div.banneritem:eq(0)").find("#preview").find("a").attr("href");;
            var timer = 7500;
            var anim = 750;
            function slider()
            {
                    setTimeout(function(){
                            do_slide(0);
                            setTimeout(function(){
                                    do_slide(1);
                                    setTimeout(function(){
                                            do_slide(2);
                                            setTimeout(function(){
                                                    do_slide(2, true);
                                                    setTimeout(function(){
                                                            do_slide(1, true);
                                                            setTimeout(function(){
                                                                    do_slide(0, true);
                                                                    slider();
                                                            }, timer);
                                                    }, timer);
                                            }, timer);
                                    }, timer);
                            }, timer);
                    }, timer);
            }
     
            function do_slide(v,rev)
            {
                    x = "div.banneritem:eq(" + v + ")";
                    if(rev==null)
                    {
                            $(x).slideUp(anim);
                            foo = $("div.banneritem:eq(" + (v+1) + ")").find("#preview").find("a").attr("href");
                    }else
                    {
                            $(x).slideDown(anim);
                            foo = $("div.banneritem:eq(" + (v-1) + ")").find("#preview").find("a").attr("href");
                    }
                   
                    if(foo!=null) got = foo;
                   
            }
           
            $("#viewnow").click(function(){
                    window.location=got;
            });

    Классика, слайдер на 3 елемента, с возавтом ;)

    expert, 15 Мая 2014

    Комментарии (40)
  11. SQL / Говнокод #14506

    −166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    SELECT ...
            FROM users_account
        ....
        WHERE   
            (T.userid=@userid or (@userid=null and @account!=null)) 
            and (T.account=@account or (@userid!=null and @account=null))

    Есть табличка с юзерами и счетами на которых у юзеров есть игровая валюта.
    Есть индекс по обоим этим полям (userid, account).
    Каждый такой запрос сканирует весь индекс,а не делает по ней поиск, чем и грузит субд.
    Но попытки оптимизировать запрос не увечались успехом,
    т.к. я так и не понял что хотел сказать автор в своём условии where.

    bliznezz, 05 Февраля 2014

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