Во время проверки кода для моего модуля поиска электронной почты сотрудник предложил адрес электронной почты в качестве свойства, а не атрибута экземпляра.Поскольку в установщике необходимо обновить 2 переменные, мне интересно, не может ли использование свойства быть плохой практикой кодирования.
Расширение этого ответа на другой вопрос.https://stackoverflow.com/a/18714545/7476434
Текущий код:
def __init__(self):
# Get an initial email address and mailbox.
self.mailbox_name = f'pytest{str(self.timestamp.get_timestamp_years())}'
self.email_address = f'{self.mailbox_name}@xxxx.mail'
def set_custom_email_address(self, email_address):
"""Updates the variables self.email_address and self.mailbox_name so user can retrieve email for a custom email address.
:param email_address: An email address ending in @xxxx.mail.
"""
self.email_address = email_address
self.mailbox_name = (email_address.split('@xxxx.email'))[0]
Все остальные методы этого класса используют атрибут экземпляра self.email_address для возврата содержимого почтового ящика.Пользователям никогда не нужно извлекать или передавать self.email_address методам класса.