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

    +7

    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
    #include <iostream>
    namespace detail
    {
      class CRWO;
      class CRO;
      class CWO;
      class CO;
    }
    typedef detail::CRWO&  CRWO;
    typedef detail::CRO&  CRO;
    typedef detail::CWO&  CWO;
    typedef detail::CO&  CO;
    class C
    {
        friend class detail::CRWO; 
        friend class detail::CRO; 
        friend class detail::CWO; 
        friend class detail::CO; 
      public:
        C( int a ) : value(a) {}
        ~C() {};
        operator CRWO() { return *static_cast<detail::CRWO*>(static_cast<void*>(this)); }
        operator CRO() { return *static_cast<detail::CRO*>(static_cast<void*>(this)); }
        operator CWO() { return *static_cast<detail::CWO*>(static_cast<void*>(this)); }
        operator CO() { return *static_cast<detail::CO*>(static_cast<void*>(this)); }
      private:
        void set( int newValue ) { value = newValue; }
        int get() { return value; }
      private:
        int value;
    };
    class detail::CRWO
    {
      public:
        void set( int newValue ) { static_cast<C*>(static_cast<void*>(this))->set( newValue ); }
        int get() { return static_cast<C*>(static_cast<void*>(this))->get( ); }
        operator ::CRO() { return *static_cast<detail::CRO*>(static_cast<void*>(this)); }
        operator ::CWO() { return *static_cast<detail::CWO*>(static_cast<void*>(this)); }
        operator ::CO() { return *static_cast<detail::CO*>(static_cast<void*>(this)); }    
      private:
        CRWO(); CRWO(const CRWO&);~CRWO();CRWO& operator=(const CRWO&);void operator&(); void operator*();
    };
    class detail::CWO
    {
      public:
        void set( int newValue ) { static_cast<C*>(static_cast<void*>(this))->set( newValue ); }
         operator ::CO() { return *static_cast<detail::CO*>(static_cast<void*>(this)); }    
      private:
        CWO(); CWO(const CWO&);~CWO();CWO& operator=(const CWO&);void operator&(); void operator*();
    };
    class detail::CRO
    {
      public:
        int get() { return static_cast<C*>(static_cast<void*>(this))->get( ); }
        operator ::CO() { return *static_cast<detail::CO*>(static_cast<void*>(this)); }    
      private:
        CRO(); CRO(const CRO&);~CRO();CRO& operator=(const CRO&);void operator&(); void operator*();
    };
    class detail::CO
    {
      public:
      private:
        CO(); CO(const CO&);~CO();CO& operator=(const CO&);void operator&(); void operator*();
    };int main(int argc, char *argv[])
    {
    C c(3);
    CRWO rwo = c;
    CRO ro = c;
    CWO wo = c;
    CO o = c;
      std::cout  << rwo.get() << std::endl;
      wo.set( 5);
      std::cout  << ro.get() << std::endl;
    return 0;
    }

    Оттуда.

    Автор требует указывать авторство при копировании.

    LispGovno, 02 Февраля 2013

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

    +49

    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
    switch ( ! empty($rules['last_online']) )
    {
    			case '3days':
    				$where .= " AND last_online > NOW() - INTERVAL '3 DAYS' ";
    			break;
    
    			case 'week':
    				$where .= " AND last_online > NOW() - INTERVAL '7 DAYS' ";
    			break;
    
    			case 'month':
    				$where .= " AND last_online > NOW() - INTERVAL '1 MONTH' ";
    			break;
    }

    Внезапно сломался фильтр .... И такое найти можно. Впервые подобное вижу

    nobody, 01 Февраля 2013

    Комментарии (74)
  3. Куча / Говнокод #12527

    +126

    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
    ZipWith[f_, vector1_, vector2_] := Table[ f[ vector1[[i]], vector2[[i]] ], {i, Min[Length[vector1], Length[vector2]] } ]
    
    UnZip[list_] := {Map[First, list], Map[Rest, list]}
    
    Zip[vector1_, vector2_] :=  ZipWith[{#1, #2} &, vector1, vector2]
    ZipWithIndex[vector_] := Zip[vector, Range[1, Length[vector]]]
    ZipWithIndexed[f_, vector1_, vector2_] := Map[f @@ # &, Map[Flatten, Zip[vector1, ZipWithIndex[vector2]]]] 
    
    Fold2[f_, initialState_, list1_ , list2_ ] := Fold[f @@ Prepend[#2, #1] &, initialState, Zip[list1, list2]]
    
    ZipWith1[f_, {}, any_] := {}
    ZipWith1[f_, any_, {}] := {}
    ZipWith1[f_, {h1_, t1___}, {h2_, t2___}] := Prepend[ZipWith1[f, {t1}, {t2}], f[h1, h2]]; (*Extremal version, but recursion depth is 256 *)
     
    GroupByIndex[list_, indexesOfGroup_] := (UnZip[#][[1]]) & /@ Gather[ZipWithIndex[list], (And @@ Map[(MemberQ[indexesOfGroup, #]) &, {#1[[2]], #2[[2]]}]) &]

    Wolfram Mathematica

    Говногость, 01 Февраля 2013

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

    +152

    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
    var retriesLeft = 100;
    while (true)
    {
        try
        {
            return SetRestorePoint(0, pointType, enentType, description);
        }
        catch (Win32Exception ex)
        {
            if (ex.NativeErrorCode != ErrorServiceDisabled || retriesLeft < 0)
                throw;
    
            Thread.Sleep(500);
            retriesLeft--;
        }
    }

    abatishchev, 01 Февраля 2013

    Комментарии (5)
  5. PHP / Говнокод #12525

    +48

    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
    class A { 
    
        public $timeline = array();  
    
        function  __construct(){ 
            for ( $i=3; $i-->0;){ 
                array_push($this->timeline, new B); 
            } 
        } 
    } 
    
     
    
    class B { 
        public $moments = array(); 
    
        function  __construct(){ 
            for ( $i=3; $i-->0;){ 
                array_push($this->moments, new C); 
            } 
        } 
    } 
    
     
    
    class C { 
    
        public $minutes = array(); 
    
        function  __construct(){ 
            for ( $i=3; $i-->0;){ 
                array_push($this->minutes, new D); 
            } 
        } 
    } 
    
     
    
    class D { 
        public $time = 0; 
    } 
    
    echo json_encode(new A);

    Вопрос от автора: Добрый день, столкнулся с такой задачей, нужно составить массив в php что бы перегоняя в json он был вида (туткусокжасона) ...бла-бла-бла... Нашел что-то типо этого, расскажите пожалуйста толком как правильно это реализовать
    Пруфлинк: http://forum.php.su/topic.php?forum=72&topic=1873

    Razban_Guestov, 01 Февраля 2013

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

    +49

    1. 1
    // Ж. Попов: include('blocks/bd.php'); БИДЭ подключено, мои юные сантехники :)

    deep, 31 Января 2013

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

    +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
    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
    #define MAX_MONSTER_ID			600
    #define MAX_ITEM_FOR_MONSTER	40
    
    	for (int j=0; j < 1000; j++)
    	{
    		AllMobItemsDrop[j].MMap			= 0;
    		AllMobItemsDrop[j].MMinLvl		= 0;
    		AllMobItemsDrop[j].MMaxLvl		= 0;
    		AllMobItemsDrop[j].IDropRate	= 0;
    		AllMobItemsDrop[j].IGroup		= 0;
    		AllMobItemsDrop[j].IIndex		= 0;
    		AllMobItemsDrop[j].IMinLvl		= 0;
    		AllMobItemsDrop[j].IMaxLvl		= 0;
    		AllMobItemsDrop[j].ILvlRate		= 0;
    		AllMobItemsDrop[j].IMinOpt		= 0;
    		AllMobItemsDrop[j].IMaxOpt		= 0;
    		AllMobItemsDrop[j].IOptRate		= 0;
    		AllMobItemsDrop[j].ISkill		= 0;
    		AllMobItemsDrop[j].ISkillRate	= 0;
    		AllMobItemsDrop[j].ILuck		= 0;
    		AllMobItemsDrop[j].ILuckRate	= 0;
    		AllMobItemsDrop[j].IMinExc		= 0;
    		AllMobItemsDrop[j].IMaxExc		= 0;
    		AllMobItemsDrop[j].IExcRate		= 0;
    		AllMobItemsDrop[j].IAnc			= 0;
    		AllMobItemsDrop[j].IAncRate		= 0;
    	}
    
    	AllMobArrayMaxItem = 0;
    
    	for (int i=0; i < MAX_MONSTER_ID; i++)
    	{
    		for (int j=0; j < MAX_ITEM_FOR_MONSTER; j++)
    		{
    			ItemsDrop[i][j].MMap		= 0;
    			ItemsDrop[i][j].MMinLvl		= 0;
    			ItemsDrop[i][j].MMaxLvl		= 0;
    			ItemsDrop[i][j].IDropRate	= 0;
    			ItemsDrop[i][j].IGroup		= 0;
    			ItemsDrop[i][j].IIndex		= 0;
    			ItemsDrop[i][j].IMinLvl		= 0;
    			ItemsDrop[i][j].IMaxLvl		= 0;
    			ItemsDrop[i][j].ILvlRate	= 0;
    			ItemsDrop[i][j].IMinOpt		= 0;
    			ItemsDrop[i][j].IMaxOpt		= 0;
    			ItemsDrop[i][j].IOptRate	= 0;
    			ItemsDrop[i][j].ISkill		= 0;
    			ItemsDrop[i][j].ISkillRate	= 0;
    			ItemsDrop[i][j].ILuck		= 0;
    			ItemsDrop[i][j].ILuckRate	= 0;
    			ItemsDrop[i][j].IMinExc		= 0;
    			ItemsDrop[i][j].IMaxExc		= 0;
    			ItemsDrop[i][j].IExcRate	= 0;
    			ItemsDrop[i][j].IAnc		= 0;
    			ItemsDrop[i][j].IAncRate	= 0;
    		}
    		ArrayMaxItem[i] = 0;
    	}

    Рабочий код с одного сервера. Код инициализации класа с заполнением структуры. А ведь это можно было уместить в:
    memset(&AllMobItemsDrop, 0, sizeof(AllMobItemsDrop));
    memset(&ItemsDrop, 0, sizeofe(ItemsDrop));

    Killbrum, 31 Января 2013

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

    +116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //DELPHI
    Hex:string
    
    Hex:='FFF123'
    
    for i to length (Hex)
    StrToInt('$' + InttoHex(Ord(Hex[i]),2))
     
    //Какую только хрень не изобретут люди, не удосужившиеся найти в справке HexToBin...

    Действительно хорошая перекодировка.

    Fruity418, 31 Января 2013

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

    −107

    1. 1
    @tag.url = @tag.name.downcase.gsub('А','a').gsub('а','a').gsub('Б','b').gsub('б','b').gsub('В','v').gsub('в','v').gsub('Г','g').gsub('г','g').gsub('Д','d').gsub('д','d').gsub('Е','e').gsub('е','e').gsub('Ё','ye').gsub('ё','e').gsub('Ж','j').gsub('ж','j').gsub('З','z').gsub('з','z').gsub('И','i').gsub('и','i').gsub('Й','i').gsub('й','i').gsub('К','k').gsub('к','k').gsub('Л','l').gsub('л','l').gsub('М','m').gsub('м','m').gsub('Н','n').gsub('н','n').gsub('О','o').gsub('о','o').gsub('П','p').gsub('п','p').gsub('Р','r').gsub('р','r').gsub('С','s').gsub('с','s').gsub('Т','t').gsub('т','t').gsub('У','u').gsub('у','u').gsub('Ф','f').gsub('ф','f').gsub('Х','h').gsub('х','h').gsub('Ц','ts').gsub('ц','ts').gsub('Ч','ch').gsub('ч','ch').gsub('Ш','sh').gsub('ш','sh').gsub('Щ','sh').gsub('щ','sh').gsub('Ъ','').gsub('ъ','').gsub('Ы','y').gsub('ы','y').gsub('Ь','').gsub('ь','').gsub('Э','e').gsub('э','e').gsub('Ю','you').gsub('ю','you').gsub('Я','ya').gsub('я','ya').gsub('`','').gsub(' ','-')

    Оригинальный подход к транслитерации

    heckfy, 31 Января 2013

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

    −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
    """ in utils.py"""
    try:
        mongo = pymongo.Connection(settings.MONGO_HOST).topbrands
    except:
        # it's ok, nobody dies
        mongo = None
    
    ''''everywhere"""
    from utils import mongo
    try:
         mongo.objects.save(obj)
    except Exception, e:
         log.exception(e)

    Ну в самом деле пусть везде будет написано о том, что инстанс NoneType не имеет аттрибута objects.

    fatdevil, 31 Января 2013

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