Отдельные команды / метод, который выполняет отрицательную проверку или использует флаг в качестве аргумента - PullRequest
0 голосов
/ 15 октября 2019

Я возвращаюсь к лучшему подходу и ценю чьи-либо советы по лучшим методам.

Я пишу действие, которое должно быть в состоянии выполнить положительный или отрицательный чек, где отрицательный чекпроверка на отсутствие, в отличие от наличия значения. Затем действие вернет результат, т.е. было ли действие успешным или нет.

Я пытаюсь определить, является ли наилучшим подходом создание двух действий: одного для положительных и одного для отрицательных проверок или передачи флага с ожидаемым результатом.

Используя простой репрезентативный пример - проверка, существует ли значение в массиве / списке:

Два метода:

checkArrayHasValue(value)
checkArrayDoesNotHaveValue(value)

возвращает:

CheckHasValueResult(value, outcome=Pass or Fail)
CheckDoesNotHaveValue(value, outcome=Pass or Fail)

соответственно.

Или:

checkArrayForValue(value, True) 
where the method signature is:
checkArrayForValue(value: int, is_expected: bool)

, где результат:

CheckForValueResult(value, was_expected, outcome=Pass or Fail)

Любые мысли о двух подходах выше. Первый способ намного понятнее, если указать намерения кода. Но я склонен предпочесть, чтобы мои методы / команды представляли позитивное намерение, т.е. CheckHas или CheckFor в отличие от CheckDoesNotHave.

...