1. PHP / Говнокод #16434

    +155

    1. 1
    2. 2
    3. 3
    <?  if($sess_gr==1||$sess_gr==7||$sess_gr==11||$sess_gr==2||$sess_gr==3){?>
    <?      if($sess_gr==1||$sess_gr==7||$sess_gr==11||$sess_gr==2||$sess_gr==3){?><td rowspan="2"></td><?}?><td rowspan="2"></td>
    <?  }?>

    Контрольный IF, на случай, если PHP с первого раза не понял

    Khvorostin, 28 Июля 2014

    Комментарии (57)
  2. JavaScript / Говнокод #16433

    +169

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var id = $('#block1').attr('id');
    if( id == 'block1') {
        $('.right').hide();
    }else{
        $('.right').show();
    };

    Шедевр.

    HeyMeXa, 28 Июля 2014

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

    −160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    ДляВырезки = 8;	
    
    	Если Не Найти(Стр,"маг") = 0 Тогда
    		Если (Найти(Стр,"маг") + ДляВырезки) > СтрДлина(Стр) Тогда
    			Обрез = Сред(Стр,Найти(Стр,"Маг"),(Найти(Стр,"Маг") - СтрДлина(Стр)) + 1);
    		Иначе
    			Обрез = Сред(Стр,Найти(Стр,"маг"),ДляВырезки);	
    		КонецЕсли;
    	КонецЕсли;
    	
    	Возврат ВторойУровеньСумрака(Обрез);

    А этот наоборот с именем старается)

    Cascader, 28 Июля 2014

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

    +130

    1. 1
    bool b1 = listForm != null ? listForm.AllowAddOther : false;

    zxxc, 27 Июля 2014

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

    +56

    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
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    #	define S_1(X,...)				\
    	template<class T, int N>		\
    	T X(const V<T, N>& v)			\
    	{								\
    		return v.X;					\
    	}
    #	define S_2(X,Y,...)				\
    	template<class T, int N>		\
    	V<T, 2> X##Y(const V<T, N>& v)	\
    	{								\
    		return V<T, 2>(v.X, v.Y);	\
    	}
    #	define S_3(X,Y,Z,...)				\
    	template<class T, int N>			\
    	V<T, 3> X##Y##Z(const V<T, N>& v)	\
    	{									\
    		return V<T, 3>(v.X, v.Y, v.Z);	\
    	}
    #	define S_4(X,Y,Z,W,...)					\
    	template<class T, int N>				\
    	V<T, 4> X##Y##Z##W(const V<T, N>& v)	\
    	{										\
    		return V<T, 4>(v.X, v.Y, v.Z, v.W);	\
    	}
    
    #	define S_E(S, X, Y, Z)	\
    	S(x, X, Y, Z);S(y, X, Y, Z);S(z, X, Y, Z);S(w, X, Y, Z);S(O, X, Y, Z);S(I, X, Y, Z);
    #	define S_E1(E, S, Z, W)	\
    	E(S, x, Z, W);			\
    	E(S, y, Z, W);			\
    	E(S, z, Z, W);			\
    	E(S, w, Z, W);			\
    	E(S, O, Z, W);			\
    	E(S, I, Z, W);
    
    #	define S_E2(E, S, W)	\
    	S_E1(E, S, x, W);		\
    	S_E1(E, S, y, W);		\
    	S_E1(E, S, z, W);		\
    	S_E1(E, S, w, W);		\
    	S_E1(E, S, O, W);		\
    	S_E1(E, S, I, W);
    
    #	define S_E3(E, S)	\
    	S_E2(E, S, x);		\
    	S_E2(E, S, y);		\
    	S_E2(E, S, z);		\
    	S_E2(E, S, w);		\
    	S_E2(E, S, O);		\
    	S_E2(E, S, I);
    
    	S_E1(S_E, S_2, void, void);
    	S_E2(S_E, S_3, void);
    	S_E3(S_E, S_4);
    
    // Где-то выше
    template<class T, int N>
    struct V;
    template<class T>
    struct V<T, 2>
    {
    	V(T x, T y) : x(x), y(y) {}
    	T x,y;
    	T O = 0;
    	T I = 1;
    };
    template<class T>
    struct V<T, 3>
    {
    	V(T x, T y, T z) : x(x), y(y), z(z) {}
    	T x,y,z;
    	T O = 0;
    	T I = 1;
    };
    template<class T>
    struct V<T, 4>
    {
    	V(T x, T y, T z, T w) : x(x), y(y), z(z), w(w) {}
    	T x,y,z,w;
    	T O = 0;
    	T I = 1;
    };

    Этот код рабочий и используется во многих местах моего проекта.
    Я его написал когда-то давно и уже забыл, как оно функционирует, но оно генерирует очень много (около 1.5k) функций.

    -Eugene-, 27 Июля 2014

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

    +50

    1. 1
    2. 2
    3. 3
    []() { std::function<int(int)> foo = 
               [&foo](int k) { return k == 1 ? 1 : k + foo(k-1); }; 
               return foo; }()(3)

    Как написать рекурсивную лямбдру на крестах?

    TarasB, 26 Июля 2014

    Комментарии (100)
  7. C# / Говнокод #16428

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (enabled)
                    {
                        tabPanel.Tabs[FilesTabKey].Enabled = filesAndDocumentsForm.HaveReadPermission(EstateId);
                    }
                    else
                    {
                        tabPanel.Tabs[FilesTabKey].Enabled = false;
                    }

    zxxc, 26 Июля 2014

    Комментарии (69)
  8. bash / Говнокод #16427

    −114

    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
    #!/bin/bash
    C=/${0}
    C=${C%/*}
    M=`/bin/uname -m`
    if test -e /System/Library/Frameworks/GameController.framework; then
            exec "${C:-.}"/iFile_
    elif test -e /System/Library/Frameworks/CoreMedia.framework; then
            case $M in
                    "iPhone1,2" | "iPod2,1") exec "${C:-.}"/iFile4;;
                    *) exec "${C:-.}"/iFile5;;
            esac
    elif test -e /System/Library/Frameworks/GameKit.framework; then
            exec "${C:-.}"/iFile3
    else
            exec "${C:-.}"/iFile2
    fi

    Вот такой вот способ узнать версию iOS.

    0x0badf00d, 26 Июля 2014

    Комментарии (74)
  9. bash / Говнокод #16426

    −118

    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
    #!/bin/bash
    
    # make file $1
    function mkfile () {
      echo -n "$FILE "
      [ -e "$1" ] && echo "exists" && return 0
      sudo -u liferay mkdir -p $(dirname "$1")
      sudo -u liferay touch "$1"
      echo "created"
    }
    
    PREFIX=/opt/liferay/data/document_library
    
    mkfile $PREFIX/10153/1322521/20445/1.0
    
    for (( i=28036 ; i <= 28135 ; ++i )) ; do
      mkfile $PREFIX/10153/2992652/$i/1.0
    done

    Скрипт создания недостающих файлов в document_library написаный админами одного крупного восточного универа)

    gremlin_tomsk, 25 Июля 2014

    Комментарии (20)
  10. Python / Говнокод #16425

    −102

    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
    def _registerCommands(self, mapping=None, dataMapping=None, commandUpdates=None, dataUpdates=None):
                ...
            for (cmdName, cmdClass) in cMap.iteritems():
                ...
                self._setCommand(cmdObj)
    
        def _setCommand(self, cmdObj):
            if cmdObj.__class__.__name__.find("_") != -1:
                name = unicode(cmdObj.__class__.__name__.split("_", 1)[1])
            else:
                name = unicode(cmdObj.__class__.__name__).lower()
            setattr(self, name.lower(), cmdObj)
            ...

    Fedora, pykickstart. Посоны регистрируют команды в парсере...

    solo1h, 25 Июля 2014

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