Установка bool: одна функция с условием против двух отдельных функций - PullRequest
0 голосов
/ 31 мая 2019

С учетом функции:

function Foo() {
  this.state;
}

с this.state, являющимся логическим значением , запускающим различные функции при установке в зависимости от значения (true / false),какая из двух следующих реализаций лучше (или распространена) и почему?

Одна функция с условием

this.setState = function(bool) {
  if(bool) {
    bar();
  }
  else {
    baz();
  }

  this.state = bool;
}

Две отдельные функции

this.stateTrue = function() {
  bar();

  this.state = true;
}

this.stateFalse = function() {
  baz();

  this.state = false;
}

1 Ответ

0 голосов
/ 31 мая 2019

Вы должны использовать first , потому что он следует принципу DRY: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself

Я бы просто немного его изменил:

this.setState = function(bool) {
  bool ? bar() : baz();
  this.state = bool;
}

Всегда пытайтесь писатьменьше избыточный код, но не слишком компромисс.Сделайте его менее читаемым.

...