Repository navigation
Conversation
Версия 5
| for i, product in enumerate(storage): | ||
| if product[PRODUCT_ID_INDEX] == product_id: | ||
| index = i | ||
| break |
There was a problem hiding this comment.
Можно было бы сразу вывести на экран нужное сообщение об ошибке и выйти из функции с помощью return вместо прерывания выполнения цикла
|
|
||
| command = words[0] | ||
|
|
||
| if command == "help" and len(words) == 1: |
There was a problem hiding this comment.
Здесь следовало бы использовать match-case, т.к. эта конструкция лучше подходит для сопоставления шаблонов. Из-за использования ветвления логика проверки количества слов в команде дублируется. Это нарушение критерия S1. Минус балл
| return True | ||
| name = " ".join(words[1:-2]) | ||
| price = Decimal(words[-2]) | ||
| quantity = int(words[-1]) |
There was a problem hiding this comment.
Нарушение критерия S3. Минус балл
| + "|".join(f" {cell:<{width}} " for cell, width in zip(TABLE_HEADERS, widths)) | ||
| + "|" | ||
| ) | ||
| dop_line = "|" + "|".join("-" * (width + 2) for width in widths) + "|" |
There was a problem hiding this comment.
Нарушение критерия T8. Минус 0,25 балла
| """ | ||
| # TODO: реализуйте функцию | ||
| return "" | ||
| rows: list[tuple[str, str, str, str]] = [ |
There was a problem hiding this comment.
Здесь не нужная явная аннотация типа. MyPy должен вывести аннотацию типа самостоятельно по значению в правой части
| return " ".join(name.split()).lower() | ||
|
|
||
|
|
||
| def get_storage_str_representation(storage: list[Product]) -> str: |
There was a problem hiding this comment.
Функция нарушает принцип единой ответственности: содержит и логику вычисления ширины столбца, и и логику форматирования строк.
Нарушение критерия S2. Минус балл
| + "|".join(f" {cell:<{width}} " for cell, width in zip(TABLE_HEADERS, widths)) | ||
| + "|" | ||
| ) | ||
| dop_line = "|" + "|".join("-" * (width + 2) for width in widths) + "|" |
There was a problem hiding this comment.
Не используйте транслитерацию для именования переменных. В будущем ваш код могут читать не только русскоговорящие разработчики, поэтому следует использовать валидные английские слова для именования переменных
No description provided.