Иногда я ловлю себя на том, что пишу логический метод, который выглядит так:
public bool isRunning()
{
if (!(move == Moving.None) && staminaRegan == true)
{
if (keyState.IsKeyDown(Keys.Space))
{
EntityAnimation.interval = 10;
return true;
}
else
{
EntityAnimation.interval = 65;
return false;
}
}
else
{
EntityAnimation.interval = 65;
return false;
}
}
(Кстати, это XNA) Как вы можете видеть, у меня есть bool isRunning, в котором я сделал оператор if, в котором я проверяю, если (игрок движется) && (восстанавливает выносливость, для которой устанавливается значение false, когда выносливость достигает значения меньше, чем 6.0f), а затем я просто проверяю, нажат ли пробел, если да, то моя анимация работает быстрее (чем меньше интервал, тем быстрее меняется спрайт-лист), а затем она отправляет истинное значение, что означает, что проигрыватель запущен, иначе я не причина Пробел не нажимается.
И затем я должен повторить этот код «else» за пределами первого оператора if, чтобы он отправлял, что Player не работает, если Player не движется или его выносливость Regan ложна;
Итак, мне просто интересно, считается ли такой метод bool плохой практикой (когда вы повторно запускаете значение true и false во вложенном if, а затем возвращаете false вне вложенного if и повторяете тот же код)?