1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #9188

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <i id="hdrtxt"><?php echo $item['header']; ?></i>
    <style>
    ...
    #hdrtxt{
    font-style:normal;
    }
    ...
    </style>

    khaletskiy, 20 Января 2012

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

    +106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public void CheckMemoStyle(bool isChecked)
    {
        if (isChecked)
        {
            memoStyleLayoutCntrl.Selected = true;
        }
        else
        {
            memoStyleLayoutCntrl.Selected = false;
        }
    }

    memoStyleLayoutCntrl.Selected = isChecked; уже не модно?

    alpha2050, 19 Января 2012

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

    +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
    public void Dispose()
            {
                Dispose(true);  
                GC.SuppressFinalize(this);
            }
    
            protected virtual void Dispose(bool disposing)
            {
                _channelRedrawManager.StopProcessing();
            }
    
            ~ChannelControlViewModel()
            {
                Dispose(false);
            }

    Деструкти правильно..

    Lifter, 19 Января 2012

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

    +150

    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
    if(!$this->user->isVip())
    			{
    				$balls_us=$this->user->balls_video;
    				$balls_comm=$this->user->balls_comm;
    				$balls_summ=$balls_comm+$balls_us;
    				if ($balls_summ>=1000)
    				{
    					$this->user->add('roles',ORM::factory('role',2));
    				}
    				else if($this->user->isVip())
    				{
    					if($balls_summ<1000)
    					{
    						$this->user->remove('roles',ORM::factory('role',2));
    					}
    					else
    					{}
    				}
    			}

    как работает этот else if($this->user->isVip()), если вначале условие что если не вип..
    ппц..

    Samedi, 18 Января 2012

    Комментарии (5)
  6. Objective C / Говнокод #9147

    −79

    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
    // Досталось по наследству:
    
    @try {
        if([[items objectAtIndex:indexPath.row] performSelector:@selector(songsArray)]){
            NSArray *songsArray = [[items objectAtIndex:indexPath.row] songsArray];
            for(Song *song in songsArray){
                [song setIsSelected:button.selected];
            }
        }
     }
    @catch (NSException *exception) {
        NSLog(@"need fix in next time");
    }
    
    // переделал в
    if ( [[items objectAtIndex:indexPath.row] respondsToSelector:@selector(songsArray)] )
    {
        NSArray *songsArray = [[items objectAtIndex:indexPath.row] songsArray];
        for(Song *song in songsArray){
             [song setIsSelected:button.selected];
        }
    }

    lime, 17 Января 2012

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

    +142

    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
    class SMSSender
        {
            const string API_URL = "http://api.sms****.ru/?";
            string base_URL = "";
            private string _email;
            private string _password;
            XmlDocument doc = new XmlDocument();
            Dictionary<string,string> parameters;
    
            public SMSSender(string email, string password)
            {
                _email = email;
                _password = password;
                base_URL = API_URL + "email=" + _email + "&password=" + _password + "&";
            }
    
            public bool LoginAttempt()
            {
                parameters = new Dictionary<string, string>();
                parameters.Add("method", "login");
                return APIRequest(parameters);
            }
    
            public KeyValuePair<int,object> GetCreditsLeft()
            {
                parameters = new Dictionary<string, string>();
                parameters.Add("method", "get_profie");
                APIRequest(parameters);
                return new KeyValuePair<int, object>(0, int.Parse(GetValueByName("credits")));
            }
    
            public int SendSMS(string senderName, string internationalNumber, string text)
            {
                parameters = new Dictionary<string, string>();
                parameters.Add("method", "push_msg");
                parameters.Add("text", text);
                parameters.Add("phone", internationalNumber);
                parameters.Add("sender_name", senderName);
                APIRequest(parameters);
                return int.Parse(GetValueByName("n_raw_sms"));
            }
    
            public KeyValuePair<int, object> GetLastError()
            {
                return new KeyValuePair<int, object>(int.Parse(doc.GetElementsByTagName("err_code")[0].InnerText), doc.GetElementsByTagName("text")[0].InnerText);
            }
    
            private string GetValueByName(string keyToReturn)
            {
                return doc.GetElementsByTagName(keyToReturn)[0].InnerText;
            }
    
            private bool APIRequest(Dictionary<string, string> param)
            {
                string URL = base_URL;
                foreach (KeyValuePair<string, string> p in param)
                    URL = URL + p.Key + "=" + p.Value + "&";
                doc.Load(URL);
                if (GetLastError().Key == 0) return true;
                else throw new SMSSenderException(GetLastError().Key, GetLastError().Value.ToString());
            }
        }
    
        class SMSSenderException : Exception
        {
            int _errorCode;
            string _Message;
            public SMSSenderException(int errorCode, string Message)
            {
                _errorCode = errorCode;
                _Message = Message;
            }
    
            public int ErrorCode
            {
                get { return _errorCode; }
            }
    
            override public string Message
            {
                get { return _Message; }
            }
        }
    }

    API сервер отправки принимает запросы вида http://api.****sms.ru?method=send_msg&phone=+79 123456789&text=abcdef, возвращает простейший XML с err_code и результатом выполнения запроса.
    Казалось бы, 20 строчек кода и проблема решена? Нифига, без специального класса для этого не обойтись. Совсем никак. И уж совсем ничего нельзя делать без специального Exception для этого дела.

    A1mighty, 16 Января 2012

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    -(BOOL) isShuffleOn {
    	return iPodPlayer? iPodPlayer.shuffleMode != MPMusicShuffleModeOff
    					 : NO;
    }

    СУКА, САМЫЙ УМНЫЙ ДА, а я думаю чо оно нет даже если оно ДА.

    Psionic, 05 Января 2012

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

    +151

    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
    001           // Определяем наборы изображений
    002	        var images = {
    003	    'Набор 1' : [
    004	        'pic1.jpg',
    005	        'pic2.jpg',
    006	        'pic3.jpg',
    007	        'pic4.jpg',
    008	        'pic5.jpg',
    009	        'pic6.jpg',
    010	        'pic7.jpg',
    011	        'pic8.jpg',
    012	        'pic9.jpg',
    013	        'pic10.jpg'
    014	    ],
    015	    'Набор 2' : [
    016	        'pic2.jpg',
    017	        'pic3.jpg',
    018	        'pic4.jpg',
    019	        'pic5.jpg',
    020	        'pic6.jpg',
    021	        'pic7.jpg',
    022	        'pic8.jpg',
    023	        'pic9.jpg',
    024	        'pic10.jpg',
    025	        'pic11.jpg',
    026	        'pic12.jpg',
    027	        'pic5.jpg',
    028	        'pic6.jpg',
    029	        'pic7.jpg',
    030	        'pic8.jpg'
    031	    ],
    032	    'Набор 3' : [
    033	        'pic1.jpg',
    034	        'pic2.jpg',
    035	        'pic3.jpg',
    036	        'pic4.jpg',
    037	        'pic5.jpg',
    038	        'pic6.jpg',
    039	        'pic7.jpg',
    040	        'pic8.jpg',
    041	        'pic9.jpg',
    042	        'pic10.jpg',
    043	        'pic11.jpg',
    044	        'pic12.jpg',
    045	        'pic4.jpg',
    046	        'pic5.jpg',
    047	        'pic6.jpg'
    ...

    О_О Шок...

    Takasu, 05 Января 2012

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $res = $db -> select('SELECT * FROM table_a');
    foreach ($res as $k => $row)
    {
        $res[$k]['field_bb'] = $db -> selectRow('SELECT field_bb FROM table_b WHERE p_id = ?', $row['p_id']);
    }

    Человек видимо не знал про JOIN

    Shitafaka, 19 Декабря 2011

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

    −124

    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
    var loader1:UILoader = new UILoader();
    loader1.autoLoad = false;
    loader1.scaleContent = false;
    loader1.source = "cute.jpg";
    loader1.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    loader1.addEventListener(Event.COMPLETE, completeHandler);
    addChild(loader1);
    
    var loader2:UILoader = new UILoader();
    loader2.autoLoad = false;
    loader2.scaleContent = false;
    loader2.source = "krugi.png";
    loader2.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    loader2.addEventListener(Event.COMPLETE, completeHandler);
    addChild(loader2);
    
    // пропуск невкусного
    
    var LoadedInfo:Label = new Label();
    LoadedInfo.autoSize = TextFieldAutoSize.LEFT;
    LoadedInfo.text = "";
    LoadedInfo.move(100, 13);
    LoadedInfo.visible = false;
    addChild(LoadedInfo);
    
    var  sld1:Slider = new Slider(); 
    sld1.width = 200; 
    sld1.snapInterval = 10; 
    sld1.tickInterval = 10; 
    sld1.maximum = 200; 
    sld1.value = 50; 
    sld1.move(200, 250); 
    sld1.liveDragging = true; 
    sld1.visible = false;
    addChild(sld1); 
    
    var  sliderLabel1:Label = new Label(); 
    sliderLabel1.width = 100; 
    sliderLabel1.text = "X"; 
    sliderLabel1.move(250, 255); 
    sliderLabel1.visible = false;
    addChild(sliderLabel1);
    
    var  sld2:Slider = new Slider(); 
    sld2.width = 200; 
    sld2.snapInterval = 10; 
    sld2.tickInterval = 10; 
    sld2.maximum = 200; 
    sld2.value = 50; 
    sld2.move(200, 260); 
    sld2.liveDragging = true; 
    sld2.visible = false;
    addChild(sld2); 
    
    var	sliderLabel2:Label = new Label(); 
    sliderLabel2.width = 100; 
    sliderLabel2.text = "Y"; 
    sliderLabel2.move(250, 260); 
    sliderLabel2.visible = false;
    addChild(sliderLabel2);
    
    var cb1:CheckBox = new CheckBox();
    cb1.move(10, 10);
    cb1.addEventListener(MouseEvent.CLICK, clc);
    addChild(cb1);
    
    var cb2:CheckBox = new CheckBox();
    cb2.move(10, 40);
    cb2.addEventListener(MouseEvent.CLICK, clc);
    addChild(cb2);
    
    // Возможный тут что-то неправильно
    function clc(e:MouseEvent):void 
    {
       var cb:CheckBox = CheckBox(e.target);
       if(cb.selected == false)
    {  
     sld1.visible = false; sliderLabel1.visible = false;
     sld2.visible = false; sliderLabel2.visible = false;
     LoadedInfo.visible = false; loader1.visible = false;
     loader2.visible = false;
    }

    Добрый день. Задача стоит следующая - создаем 3 чекбокса, в которые будут загружаться изображения и делаем слайдер, который будет менять размеры по X и Y изображения в UIloader.

    Вопрос: Как сделать так, чтобы flash сам определял, какой чебокс выбран, соответсвенно какой UIloader выбран, а далее позволял слайдером менять размеры содержимого именно того UIloader, который связан с чекбокс? Делаю в кадре, перевод в класс не предлагать.

    kyzi007, 18 Декабря 2011

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