Skip to content

Sivovaalex patch 2#22

Open
sivovaalex wants to merge 7 commits into
kib-courses:masterfrom
sivovaalex:sivovaalex-patch-2
Open

Sivovaalex patch 2#22
sivovaalex wants to merge 7 commits into
kib-courses:masterfrom
sivovaalex:sivovaalex-patch-2

Conversation

@sivovaalex
Copy link
Copy Markdown

No description provided.

@sivovaalex
Copy link
Copy Markdown
Author

изменила код, учитывая замечания:
"В целом норм, но самые основные минусы:

1. использование исключений там, где можно обойтись условием
2. много однотипного кода - надо выносить в отдельные функции
3. нерабочая модель PatientCollection для множественного использования - бутылочное горлышко в self.lim
  1. неочевидная логика использования счетчиков для присвоения значений. Если обойтись без счетчиков, то будет лучше и с точки зрения понятности кода, и с точки зрения памяти (ну последнее, конечно, незначительно)"

и другие замечания тоже

Copy link
Copy Markdown
Collaborator

@romvano romvano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

немного поднял оценку. Но кода очень много - можно сокращать и сокращать. Больше переиспользовать общие паттерны, выделяя их в отдельные функции или декораторы

Comment thread homework/patient.py

@first_name.setter
def first_name(self, first_name):
if hasattr(self, 'first_name') == False:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if not hasattr

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

мб в кавычках имелось в виду '_first_name'?

Comment thread homework/patient.py
def __init__(self, first_name, last_name, birth_date, phone, document_type, document_id):
self.logger_e = logging.getLogger("errors")
self.logger_e.setLevel(logging.ERROR)
self.formatter = logging.Formatter("%(filename)s[LINE:%(lineno)d]# %(levelname)-8s [%(asctime)s] %(message)s")
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

работу с логгерами договорились в отдельном месте делать

Comment thread homework/patient.py
and (len(birthday_list[2]) == 1 or len(birthday_list[2]) == 2) and (
int(birthday_list[2]) >= 1 and int(birthday_list[2]) <= 31):
birthday_year = birthday_list[0]
birthday_month = birthday_list[1]
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше всю эту функцию реализовать через datetime

Comment thread homework/patient.py
{'first_name': self.first_name, 'last_name': self.last_name, 'birth_date': self.birth_date,
'phone': self.phone, 'document_type': self.document_type, 'document_id': self.document_id})
except OSError:
self.log_error("Error: Данные не сохранены")
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

except (OSError, UnicodeError, ....)

Comment thread homework/patient.py

def limit(self, n):
raise NotImplementedError()
self.lim = n
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

из-за общего ресурса не получится использовать один объект коллекции параллельно

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants