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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    public function __toString( $defaultText = '' )
    {
      return $this->getHtmlMaterial( $defaultText );
    }

    Продолжение серии "ОО П..."

    vatson, 20 Мая 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public bool IsDeleted
            {
                get { return _isDeleted; }
                set { _isDeleted = true; }
            }

    удалить то удалил, а вот IsDeleted = false удачи =)

    ksis.poit, 20 Мая 2010

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    enum Bool
    {
        True,
        False,
        FileNotFound
    };

    Как оказывается Boolean может быть не только long, но и FileNotFound.

    Нашел зде©ь http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx

    HyperGeek, 19 Мая 2010

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

    +144

    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
    class Node{
    private:
    	int _data;
    	Node *  _next;
    
    public: 
    	Node(int data): _next(0), _data(data){};
    
    	int getData() const {return _data;}	
    	void setData(int value) {_data = value;}
    
    	Node * getNextNode() const {return _next;}
    	void setNextNode(Node * nextNode) {_next = nextNode;}
    };

    Нашел на страницах пастбина.

    hromjo, 19 Мая 2010

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    static public function checkFingerprint($fingerprint = null)
    {
        $user = ServiceFactory::getServiceUsers()->getByID((int)$_COOKIE['__MW__accountID']);
        $fingerprint = (isset($fingerprint)) ? $fingerprint : Users::getFingerprint();
        $flag = (bool)($fingerprint == $user->generateFingerprint());
        if ( $flag )
          return $user->userID;
        else
          return 0;
    }

    не только индусские разработчики бывают весёлыми - это творение взрослого афроамериканского собрата. Перестраховался везде где только мог. Особенно доставляет приведение к bool результата сравнения :)

    newmindcore, 19 Мая 2010

    Комментарии (15)
  6. Assembler / Говнокод #3271

    +208

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    XOR  EBX,EBX
    MOV ECX,DWORD PTR SS:[EBP-168]
    MOV DWORD PTR SS:[EBP-168],ECX
    CMP EBX,DWORD PTR SS:[EBP-168]
    JG    ...

    govnokod3r, 19 Мая 2010

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

    +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
    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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       bool Valid = true;
       bool f1;
       bool f2;
       unsigned step = 0;
       for( bool x1=false; x1<2; x1++ )
          for( bool x2=false; x2<2; x2++ )
             for( bool x3=false; x3<2; x3++ )
                for( bool x4=false; x4<2; x4++ )
                   for( bool x5=false; x5<2; x5++ )
                      for( bool x6=false; x6<2; x6++ )
                         for( bool x7=false; x7<2; x7++ )
                            for( bool x8=false; x8<2; x8++ )
                               for( bool x9=false; x9<2; x9++ )
                                  for( bool x10=false; x10<2; x10++ )
                                     for( bool x11=false; x11<2; x11++ )
                                        for( bool x12=false; x12<2; x12++ )
                                           for( bool x13=false; x13<2; x13++ )
                                              for( bool x14=false; x14<2; x14++ )
                                                 for( bool x15=false; x15<2; x15++ )
                                                 {
       step++;                                             
       f1 = ( x1 && x2 || x3 && x4 || x5 && x6 && x7 || x8 && x9 && x10 ) && ( !x11 || x12 && x13 || x14 && x15 );
       f2 = (!(!x1 || !x2) || !(!x3 || !x4) || !(!x5 || !x6 || !x7) || !(!x8 || !x9 || !x10)) && ( !(!x14 || !x15) || !x11 || !(!x12 || !x13) );
       if ( f1 != f2 ) Valid = false; break;
                                                 }
       if( Valid ) Application->MessageBox( "Функции идентичны", "Функции идентичны", MB_OK );
       else Application->MessageBox( "NOT Valid", IntToStr(step).c_str(), MB_OK );
    
    }

    Проверка идентичности логических функций путем перебора аргументов.

    absolut, 19 Мая 2010

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

    +159

    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
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    void __fastcall TMainForm::TimerCheckForPowerOffTimeTimer(TObject *Sender)
    {
       // Обновление текущего времени/дня недели
       eDayOfToday->Text = FormatDateTime("dddd", Now() );
       DateTimePickerCurrentTime->DateTime = Now();
    
       static already = false; // процесс выключения начался
       if( !CheckBox1->Checked ) already = false;
       if( CheckBox1->Checked && !already ) // первое срабатываение таймера по времени
       {
          AnsiString TimeString = TimeToStr(TTime::CurrentTime());
          bool  TimeToPowerOff = false;
    
          if( cbAllDay->Checked )
          {
             TimeToPowerOff = ( TimeToStr(DateTimePickerAllday->Time) == TimeString );
          }
          else
          {
             switch( DayOfWeek( Now() ) )
             {
                case SUNDAY:
                {
                   if( cbSunday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerSunday->Time) == TimeString );
                   }
                   break;
                }
                case MONDAY:
                {
                   if( cbMonday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerMonday->Time) == TimeString );
                   }
                   break;
                }
                case TUESDAY:
                {
                   if( cbTuesday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerTuesday->Time) == TimeString );
                   }
                   break;
                }
                case WEDNESDAY:
                {
                   if( cbWednesday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerWednesday->Time) == TimeString );
                   }
                   break;
                }
                case THURSDAY:
                {
                   if( cbThursday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerThursday->Time) == TimeString );
                   }
                   break;
                }
                case FRIDAY:
                {
                   if( cbFriday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerFriday->Time) == TimeString );
                   }
                   break;
                }
                case SATURDAY:
                {
                   if( cbSaturday->Checked )
                   {
                      TimeToPowerOff = ( TimeToStr(DateTimePickerSaturday->Time) == TimeString );
                   }
                   break;
                }
             } // switch
          } // else cbAllDay->Checked
    
          if( TimeToPowerOff )
          {
             already=true;
             SetPermission();
             ShutDownPC();
          }
       } // первое срабатывание
    }

    Вырезка из программы для выключения питания компа. Данная функция вызывается по таймеру, раз в 900 мс :)
    Совпадение времен проверяется сравнением их строкового представления. Ну и в довесок, однообразный код в switch().

    absolut, 19 Мая 2010

    Комментарии (0)
  9. ActionScript / Говнокод #3268

    −87

    1. 1
    if(_smcWindowContent._smcShowOnStartup.contains(_smcWindowContent._smcShowOnStartup._sbtShowHelpOn))_smcWindowContent._smcShowOnStartup.removeChild(_smcWindowContent._smcShowOnStartup._sbtShowHelpOn);

    (c) Tom Wrasseller Flash Lead of Arkadium Games

    dimas_art, 19 Мая 2010

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

    +104

    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
    function fnGetWeekDay:integer;
    //функция fnGetWeekDay возвращает день недели
    var
      CurDate: date;
      dd,mm,yy: word;
      cent, month, iRes : integer;
    Begin
      CurDate = CurrentDate;
      DecodeDate(CurDate,yy,mm,dd);
      month = mm;
      if mm < 3 then mm = mm + 10
      else mm = mm - 2;
      if mm > 10 then yy = yy - 1;
      cent = yy div 100;
      yy = yy mod 100;
      iRes = ((2.6*mm-0.2) div 1) + dd + yy + (yy div 4) + (cent div 4) - 2*cent;
      iRes = ((iRes+777) mod 7);
      if (month == 5) or (month == 7) or (month == 10) or (month == 12) then iRes = iRes - 1;
      if iRes == -1 then result = 6
      else if iRes == 0 then result = 7
      else result = iRes;
    End; //  fnGetWeekDay

    Это не совсем Delphi. Это нечто с крайне похожим синтаксисом.
    Почему нельзя было использовать (CurrentDate - <какое-нибудь воскресенье>) mod 7 я не знаю.

    rat, 19 Мая 2010

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