1. C# / Говнокод #16431

    +130

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

    zxxc, 27 Июля 2014

    Комментарии (2)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. PHP / Говнокод #16424

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    $PriceProduct = $Price;
    $Skidka = $Skidka;
    $PriceSkidka = $PriceSkidka;
    $Price = $PriceItog;

    Самописная CRM. Коллега метко назвал этот кусок кода считалочкой. Для полноты картины осталось заменить последнюю строку на $Price = $PriceProduct;

    Khvorostin, 25 Июля 2014

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

    +162

    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
    $(function(){
            var keyword = '';
            if (typeof crtg_content !== 'undefined' && crtg_content) { keyword = crtg_content; }
            var custom = { 4:ar_duo1 };
            custom[1] = 'soft';
            custom[2] = 'design';
            custom[3] = 'linux';
    
            /* Антоша не удаляй это условие блеать! Как я тестить буду? */
            //if (true)
            //    show_inner_banner_block('ertelecom');
            //else
                new adriver("adriver_banner_132032996", {sid: 176776, bt: 52, bn: 3, custom: custom, keyword: keyword});
    });

    С известного ИТ ресурса.
    Не говнокод, конечно, но коментарий весёлый. :)

    TauSigma, 25 Июля 2014

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

    +163

    1. 1
    //проверяем, не извлечены ли данные пользователя из базы. Если нет, то он не вошел, либо пароль в сессии неверный. Выводим окно для входа. Но мы не будем его выводить для вошедших, им оно уже не нужно.

    Не замысловатый комментарий из истории одного проекта

    reilag, 25 Июля 2014

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