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

    +16

    1. 1
    2. 2
    3. 3
    //...
       ret.value(_val != "" ? _val : "");
    //...

    bodeaux, 21 Ноября 2012

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

    +21

    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
    //Было:
    int foo()//                              ;
    {                                        ;  
        int a                                ;
        float b                              ; //В правой части старые 
        typedef int testing                  ; //полезные комментарии
        std::cout << "Ho-ho-ho"              ;
        a=0                                  ;
        b=1.0f                               ;
        if (a==b)//                          ;
        {                                    ;
            std::cout <<"Yet another caption";
            std::cout <<"Hi-hi-hi"           ;
            bar()                            ;
                                             ;
        }                                    ;
        using namespace std                  ;
        for (int i =0;i<10;i++)//            ;
        {                                    ;
                                             ;
            std::cout <<"Hello, world!"      ;
            std::cout <<"Yet another line"   ;
        }                                    ;
        return 0                             ;
                                             ;
    }                                        ;
    
    //Кто-то что-то решил поменять
    //Стало:
    int foo()//                              ;
    {                                        ;  
        int a                                ;
        float b                              ; //В правой части старые 
        typedef int testing                  ; //полезные комментарии
        std::cout << "Ho-ho-ho"              ;
        a=0                                  ;
        b=1.0f                               ;
        if (a==b)//                          ;
        {                                    ;
            std::cout <<"Yet another caption";
            std::cout <<"Hi-hi-hi"           ;
            bar()                            ;
                                             ;
        }                                    ;
        double c;
        //Слева комментарии требующие
        //проверки. Wtf???Зачем здесь с???    
        using namespace std                  ;
        for (int i =0;i<10;i++)//            ;
        {                                    ;
                                             ;
            std::cout <<"Hello, world!"      ;
            std::cout <<"Yet another line"   ;
        }                                    ;
        return 6666                             ;
                                             ;
    }                                        ;
    
    //Быстро определили по линии из точек c
    //запятой место в котором произошло изменение.
    //Если согласились с ним восстанавливаем линию.

    Бесплатная распределенная говносистема контроля версий. Git и SVN нервно курят в сторонке.

    igumnovf, 20 Ноября 2012

    Комментарии (41)
  3. C++ / Говнокод #12154

    +23

    1. 1
    2. 2
    typedef const AbstractParameter ConstAbstractParameter;
    class Parameter: public ConstAbstractParameter{

    GCC это не компилирует, но в 2008 ms vs компилируется без предупреждений. Я это как увидел, так сразу переписал на

    class Parameter: public AbstractParameter{

    А вот теперь я дома и не могу заснуть. Гложет чувство, что я поступил не правильно. Такое чувство как-будто этот const, пусть и не в рамках стандарта С++, но что-то он делал.

    LispGovno, 20 Ноября 2012

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

    +9

    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
    class A
    {
    public:
            A () : p (new SomeType)
            {
                    assert ("It must be non-zero" && p);
            }
            ~A ()
            {
                    Box <SomeType> deleter (p);
                    p = 0;
            }
    private:
            SomeType *p;
    };

    А вот и применение класса Box

    Setry, 19 Ноября 2012

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

    +22

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class ClassA 
    {
    };
    class ClassB : private ClassA
    {
    public:
    	ClassA& AsClassA()
    	{
    		return *this;
    	}
    };

    Setry, 19 Ноября 2012

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

    +22

    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
    template<class T>
    class Box
    {
    private:
    	explicit Box(const Box&);
    	Box& operator = (const Box&);
    public:
    	explicit Box()
    		: m_value(0)
    	{}
    	explicit Box(T* value)
    		: m_value(value)
    	{}
    	~Box()
    	{
    		std::auto_ptr <T> toDelete(m_value);
    	}
    	T* Release()
    	{
    		T* const result(m_value);
    		m_value = 0;
    		return result;
    	}
    	void Reset(T* value)
    	{
    		std::auto_ptr <T> toDelete(m_value);
    		m_value = value;
    	}
    private:
    	T* m_value;
    };

    Setry, 19 Ноября 2012

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

    +24

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #define TRUE (1)
    #define FALSE (0)
    
    #define internal protected:
    #define external public:
    #define declareSuper(superClass) protected: typedef superClass super

    Оттуда.

    LispGovno, 17 Ноября 2012

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

    +14

    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
    [code=cpp]
    #include <iostream>
    #include <cmath>
    
    void foo(double x, double y)
    {
        if (std::cos(x) != std::cos(y)) 
            std::cout << "Я знаю точно невозможное возможно";
    }
    
    int main()
    {
        foo(1.0, 1.0);
        return 0;
    }
    [/code]

    floatы и нуб.

    igumnovf, 16 Ноября 2012

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

    +18

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    using namespace boost;
    typedef filesystem::recursive_directory_iterator dir_iter_t;
    dir_iter_t itt(filesystem::current_path());
    while ([&](dir_iter_t &itter) -> decltype(itter)
    {
        std::cout << boost::filesystem::path((*itter++).path()).make_preferred().string() << std::endl;
        return itter;
    }(itt) != dir_iter_t());

    Вчера ночью написал сие чудо , сегодня когда увидел - меня чуть приступ не хватил.
    Выводит в консоль всё содержимое текущего каталога и всех вложенных.

    suc-daniil, 15 Ноября 2012

    Комментарии (46)
  10. C++ / Говнокод #12116

    +21

    1. 1
    2. 2
    3. 3
    extern struct BloodRainPersonage
    {
    } bloodRainPersonage, * pBloodRainPersonage;

    Мне даже нечего сказать...

    LispGovno, 13 Ноября 2012

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