Объеденить 3 валидации в одну (Python)
Есть 3 поля, которые проходят валидацию (при регистрации нового пользователя): username, password и год рождения. username проверяется на уникальность, пароль на сложность, а год просто на формат 1900 < age < текущий год.
Для каждого поля есть функция конкретно под проверку этого поля, но эти функции по сути практически одинаковы. В реальном проекте такое было бы уместно?
Есть ли смысл писать одну большую функцию, которая сначала понимает что это за поле, а потом его проверяет? Ещё смотрю в сторону ООП, но я сейчас вообще не понимаю его принципов.
Как сделать правильно? Как делают в коммерческой разработке?
Ответы (1 шт):
В таком случае советую подучить ООП.
Правильнее будет сделать класс и в нем объявить функции для проверки имени, пароля и года рождения.
Это позволит сделать код модульным и его будет легко поддерживать.
Например:
class Validate:
@staticmethod
def validate_user_name(username):
pass # здесь ваша логика функции
Validate.validate_user_name('какое-то имя')
Таким образом вы можете добавлять в класс другие функции, например, для проверки пароля или даты рождения.