Как можно оптимизировать проверку?

Есть такой метод у класса:

def is_valide_get(self) -> bool:
    if (email := self.request.json.get('email', None)) is None:
        self.errors = self.error_email
        return False
    self.email = email

который проверяет валидность переданных данных в POST-запросе. Очевидно, что, если делать проверку другого параметра, то придется дублировать эту конструкцию.

Можно ли как-то оптимизировать данных подход? Например, передавать список проверяемых данных, и, если они существуют, то сохранять их?

Я вижу так:

def is_valide_get(self, values: tuple, errors: tuple) -> bool:
    for name_value, error in zip(values, errors):
        if (value := self.request.json.get(name_value, None)) is None:
            self.errors = error
            return False
        self.__setattr__(name_value, value)
    return True

Насколько такой подход преемлим?


Ответы (0 шт):