Jawa / Говнокод #8005 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
if (prodAttainment < payeeSalesGoal)
{
	cashComp = 1;
}
else if (prodAttainment < 1.25 * payeeSalesGoal
		&& prodAttainment >= payeeSalesGoal)
{
	cashComp = 0.75;
}
else if (prodAttainment >= 1.25 * payeeSalesGoal)
{
	cashComp = 0.5;
}

Меня гнет или и правда нужно столько проверок? Чтоб наверняка...

Запостил: askell askell, (Updated )

Комментарии (27) RSS

  • Как вариант:
    cashComp = 1;
    if (prodAttainment >= payeeSalesGoal)
    {
        cashComp = 0.75;
        if (prodAttainment >= 1.25 * payeeSalesGoal)
        {
            cashComp = 0.5;
        }
    }
    Ответить
  • float tmp = prodAttainment / payeeSalesGoal;
    
    if (tmp < 1)
    	cashComp = 1;
    else if (tmp < 1.25)
    	cashComp = 0.75;
    else
    	cashComp = 0.5;
    Ответить
  • if (prodAttainment < 1.25 * payeeSalesGoal && prodAttainment >= payeeSalesGoal)

    не люблю такую запись. Мне, как математику, кажется более очевидной
    if (payeeSalesGoal <= prodAttainment  && prodAttainment < 1.25 * payeeSalesGoal)


    В целом, для меня предпочтителен исходный вариант, с небольшими доработками, т. е.
    if (prodAttainment < payeeSalesGoal)
    {
    	cashComp = 1;
    }
    else if (payeeSalesGoal <= prodAttainment  && prodAttainment < 1.25 * payeeSalesGoal)
    {
    	cashComp = 0.75;
    }
    else if (prodAttainment >= 1.25 * payeeSalesGoal)
    {
    	cashComp = 0.5;
    }

    Читается лучше, чем все варианты предложеные выше.
    Ответить
  • Попробовал упросить.
    Стало так:
    final float k = prodAttainment / payeeSalesGoal;
    cashComp = k < 1.0f ? 1.0f : (k < 1.25f ? 0.75f : 0.5f);


    может еще проще можно? 🙂
    Ответить
    • Замена if'ов тернарным оператором по-вашему считается упрощением?
      P.S. А если "упросить", то не упросите.
      Ответить
  • Вздохнув с облегчением, я положил трубку и взялся руками за голову. Да, врать нехорошо, но что мне оставалось делать? Не расскажу же я ей о том, что меня девушка бросила, и я, как пацан какой-то, с горя решил ужраться...
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8