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

    +4

    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
    StringBuilder errorMessage = new StringBuilder();
    int i = 0, j = 0;
    bool outcome = true;
    double value;
    string[] label = new string[] { label1.Text, label2.Text, label4.Text };
    
    textBox1.Text = textBox1.Text.Trim();
    textBox2.Text = textBox2.Text.Trim();
    textBox3.Text = textBox3.Text.Trim();
    
    foreach (string field in (new string[] { textBox1.Text, textBox2.Text, textBox3.Text }))
    {
    	try
    	{
    		if (field.Length == 0)
    			throw new Exception("отсутствует значение.\n");
    
    		if (j == 2)
    			value = int.Parse(field, NumberStyles.Integer);
    		else
    			value = double.Parse(field, NumberStyles.Float);
    
    		if (value <= 0)
    			throw new Exception("значение должно быть строго больше нуля.\n");
    
    		if (j == 2)
    		{
    			try
    			{
    				dateTimePicker1.Value.Date.AddMonths((int)value);
    			}
    			catch (Exception)
    			{
    				throw new Exception("превышено максимальное значение типа System.DateTime, " + DateTime.MaxValue.ToShortDateString() + ".\n" +
    									"Срок вклада не может превышать " + 
    									((DateTime.MaxValue.Year - dateTimePicker1.Value.Date.Year) * 12 +
    									DateTime.MaxValue.Month - dateTimePicker1.Value.Date.Month).ToString() + " мес. " + "от указанной даты оформления, " + dateTimePicker1.Value.Date.ToShortDateString() + ".\n");
    			}
    		}
    	}
    	catch (Exception e)
    	{
    		errorMessage.Append((++i).ToString() + ". " + label[j] + ": ");
    
    		switch (e.GetType().ToString())
    		{
    			case "System.FormatException":
    				errorMessage.AppendLine("неверный формат числа.\n");
    				break;
    
    			case "System.OverflowException":
    				{
    					if (j < 2)
    					{
    						errorMessage.AppendLine("значение не может быть обработано вещественным типом System.Double.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + double.MaxValue.ToString() + "].\n");
    					}
    					else
    					{
    						errorMessage.AppendLine("значение не может быть обработано целочисленным типом System.Int32.");
    						errorMessage.AppendLine("Значение типа должно быть строго больше нуля, в промежутке (0; " + int.MaxValue.ToString() + "].\n");
    					}
    					break;
    				}
    
    			default:
    				errorMessage.AppendLine(e.Message);
    				break;
    		}
    
    		outcome = false;
    	}
    
    	j++;
    }

    Мастер исключений 80-го уровня.
    Хорошо, хоть не по мессаджам их разделяет.

    yamamoto, 28 Сентября 2015

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

    +1

    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
    function cashBonusCalculator(currentDepositValue, el) {
        var $scope = el;
    
        if (!currentDepositValue) {
            currentDepositValue = 0;
        }
        var max_bonus_01 = $scope.find('[name="progr_step_01_max"]'),
            max_bonus_02 = $scope.find('[name="progr_step_02_max"]'),
            max_bonus_03 = $scope.find('[name="progr_step_03_max"]'),
            bonus_start_01 = $scope.find('[name="progr_step_01_start"]'),
            bonus_start_02 = $scope.find('[name="progr_step_02_start"]'),
            bonus_start_03 = $scope.find('[name="progr_step_03_start"]'),
            bonus_amount_01 = $scope.find('[name="progr_step_01_amount"]'),
            bonus_amount_02 = $scope.find('[name="progr_step_02_amount"]'),
            bonus_amount_03 = $scope.find('[name="progr_step_03_amount"]');
    
            if (cash_bonuses_list[0]) {
                max_bonus_01.text('max ' + cash_bonuses_list[0].maxbonus.toMonetaryString());
                bonus_start_01.text(cash_bonuses_list[0].f.toMonetaryString());
                bonus_amount_01.text(cash_bonuses_list[0].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[0].wager + ' ' + wagerType +'; ' + cash_bonuses_list[0].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_01');
            }
            if (cash_bonuses_list[1]) {
                max_bonus_02.text('max ' + cash_bonuses_list[1].maxbonus.toMonetaryString());
                bonus_start_02.text(cash_bonuses_list[1].f.toMonetaryString());
                bonus_amount_02.text(cash_bonuses_list[1].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[1].wager + ' ' + wagerType + '; ' + cash_bonuses_list[1].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_02');
            }
            if (cash_bonuses_list[2]) {
                max_bonus_03.text('max ' + cash_bonuses_list[2].maxbonus.toMonetaryString());
                bonus_start_03.text(cash_bonuses_list[2].f.toMonetaryString());
                bonus_amount_03.text(cash_bonuses_list[2].bonus + '%');
                main_gift_conditions.text('x' + cash_bonuses_list[2].wager + ' ' + wagerType + '; ' + cash_bonuses_list[2].ttl + _('h'));
                gift_progress.addClass('cash_gift_progress_level_03');
            }
    
            if (window.CASHBONUSES && window.CASHBONUSES.length > 0) {
                var progressSteps = 3;
                if (cash_bonuses_list[0]) {
                    progressSteps = 1;
                }
                if (cash_bonuses_list[1]) {
                    progressSteps = 2;
                }
                if (cash_bonuses_list[2]) {
                    progressSteps = 3;
                }
    
                if (cash_bonuses_list[0] && currentDepositValue <= cash_bonuses_list[0].t && currentDepositValue >= cash_bonuses_list[0].f) {
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[0].f) / (((cash_bonuses_list[0].t - cash_bonuses_list[0].f) / 100)) * 0.01))) + 'px'
                    });
                    main_gift_amount.text(cash_bonuses_list[0].c + ' ' + currentBonusSumm(cash_bonuses_list[0].bonus, cash_bonuses_list[0].maxbonus, fromCashDepositValue));
                } else if (!cash_bonuses_list[1] && cash_bonuses_list[0] && currentDepositValue > cash_bonuses_list[0].t && currentDepositValue >= cash_bonuses_list[0].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: '100%'
                    });
                    main_gift_amount.text(cash_bonuses_list[0].c + ' ' + currentBonusSumm(cash_bonuses_list[0].bonus, cash_bonuses_list[0].maxbonus, fromCashDepositValue));
                } else if (cash_bonuses_list[1] && currentDepositValue <= cash_bonuses_list[1].t && currentDepositValue >= cash_bonuses_list[1].f) {
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[1].f) / (((cash_bonuses_list[1].t - cash_bonuses_list[1].f) / 100)) * 0.01)) + (main_progress_width / progressSteps)) + 'px'
                    });
                    main_gift_amount.text(cash_bonuses_list[1].c + ' ' + currentBonusSumm(cash_bonuses_list[1].bonus, cash_bonuses_list[1].maxbonus, fromCashDepositValue));
                } else if (!cash_bonuses_list[2] && cash_bonuses_list[1] && currentDepositValue > cash_bonuses_list[1].t && currentDepositValue >= cash_bonuses_list[1].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: '100%'
                    });
                    main_gift_amount.text(cash_bonuses_list[1].c + ' ' + currentBonusSumm(cash_bonuses_list[1].bonus, cash_bonuses_list[1].maxbonus, fromCashDepositValue));
                } else if (cash_bonuses_list[2] && currentDepositValue <= cash_bonuses_list[2].maxbonus && currentDepositValue >= cash_bonuses_list[2].f){
                    $scope.find('[name="cash_gift_progressbar"]').css({
                        width: (((main_progress_width / progressSteps) * ( (currentDepositValue - cash_bonuses_list[2].f) / (((cash_bonuses_list[2].maxbonus - cash_bonuses_list[2].f) / 100)) * 0.01)) + ((main_progress_width / progressSteps) * 2)) + 'px'
                    });

    ambt, 28 Сентября 2015

    Комментарии (1)
  3. Си / Говнокод #18770

    −1

    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
    #include<stdio.h>
    	main(void){
    	#define   SIZE 10
    	int workers[SIZE] = {0,0,0,0,0,0,0,0,0};
           int frequency[SIZE] = {0,0,0,0,0,0,0,0,0};          		
    	int freq[SIZE]  = {0,0,0,0,0,0,0,0,0};
    	int salary = 200;	
    	int  m = 0, k = 0 ,n = 0, x = 0;
    
    for( k = 1 ; 	k <= SIZE - 1  ; ++k){
       printf("inter summary cash = ");
           scanf("\n%d", &m);
    	  workers[k] = m;
    	  freq[k ]	= (int) salary +  ( workers[k] * 0.01 ) * 9;
    		printf("number index%4d  up salary $%d\n", k  , freq[k]);
    		puts("");
    	}
    
    for(n = 1;n <= SIZE  - 1; n++){
      freq[x]	=  salary +  (workers[n] * 0.01 ) * 9   ;
        if(freq[n] >= 200 && freq[n] < 1000 ){
           ++frequency[(int)  freq[n] / 100  ]  ;
    	 }
    else if ( freq[n] > 1000 ){
    	++frequency[10];
    		 }
    	}		
    		
          for(x = 2;  x <=  SIZE ; x++ ){							
    	printf("$%4d = $%4d 	%d\n",salary, salary + 99,	frequency[x]  );						
                  salary += 100;		
    		}	
    return 0;
    	}

    Задачу по Дейтелам решал.

    tyrin, 27 Сентября 2015

    Комментарии (1)
  4. PHP / Говнокод #18768

    +2

    1. 1
    2. 2
    3. 3
    $query = "SELECT * FROM 
    		(SELECT * FROM `".$this->table_name."` ORDER BY `date` DESC $l) a
    		ORDER BY `$sort` $desc";

    С видеокурса Михаила Русакова

    REMOX, 27 Сентября 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private function check($data) {
    	$result = $this->checkData($data);
    	if ($result === true) return true;
    	$sm = new SystemMessage();
    	return $sm->message($result);
    }
    protected function checkData($data) {
    	return false;
    }

    С видеокурса Михаила Русакова

    REMOX, 27 Сентября 2015

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

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    // Привет коллеги, у меня возникла делема, куда пихать код отправки
    // на e-mail сообщения? В модель формы или в контроллере оставить?
    // фреймворк Yii, в самой Yii доке, написано, что в контроллерах надо
    // оставлять, а вы как делаете?

    Привет коллеги, у меня возникла делема, куда пихать код отправки на e-mail сообщения? В модель формы или в контроллере оставить? Фреймворк Yii, в самой Yii доке, написано, что в контроллерах надо оставлять, а вы как делаете?

    proweber1, 27 Сентября 2015

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

    +1

    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
    import std.io;
    import std.string;
    import calendar.month;
    
    module calendar.date;
    
    namespace Chrono
    {
        export
        struct Date {
            Date(int, Month, int);
            int day() const
            {
                return d;
            }
            Month month() const
            {
                return m;
            }
            Int year() const
            {
                return y;
            }
        private:
            int d;
            Month m;
            int y;
        };
        export
        std::ostream &operator<<(std::ostream &, const Date &);
        export
        std::string to_string(const Date &);
    }

    По мотивам: http://habrahabr.ru/company/infopulse/blog/267781/
    зы. https://github.com/isocpp/CppCoreGuidelines/blob/master/talks/Large-Scale-C%2B%2B-With-Modules.pdf

    CriDos, 27 Сентября 2015

    Комментарии (14)
  8. Си / Говнокод #18760

    +14

    1. 1
    2. 2
    3. 3
    /*
    удалено по просьбе правообладателя
    */

    Думал я, что меня уже так просто не удивишь, пока не увидел ЭТО!

    gorthauer87, 24 Сентября 2015

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

    −1

    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
    public interface IApplicationUserManager { }
    
        public class ApplicationUserManager : UserManager<ApplicationUser, long>, IApplicationUserManager
        {
            private static ApplicationUserManager applicationUserManager;
            public static bool IsUserInRole(long userId, string roleName)
            {
                return applicationUserManager.UserInRole(userId, roleName);
            }
    
            public ApplicationUserManager(IAccountService accountService)
                : base(new ApplicationUserStore())
            {
                this.accountService = accountService;
                applicationUserManager = this;
            }
         }

    Проверяй, проверяй мои роли полностью...

    FreedomHex, 24 Сентября 2015

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    var date_match=time.split('.');
    date_match=new Date(
    	date_match[1]+'-'+date_match[0]+'-'+/[\w\W]+(\d{4,4})\/(\d{4,4})[\w\W]+/.exec(document.title)[(date_match[1]>6)?1:2]//Gangsta
    );

    Darth, 23 Сентября 2015

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