Repository navigation
Conversation
| name1, price, quan = fields | ||
| name = normalize_product_name(name1) | ||
|
|
||
| if name == "": |
There was a problem hiding this comment.
Неверная проверка на пустоту для строки. Нарушение критерия T4. Минус 0.25 балла
| return None | ||
|
|
||
| if any(product[NAME_INDEX] == name for product in storage): | ||
| print(f"product name '{name}' is already taken") |
There was a problem hiding this comment.
Можно было бы добавить кавычки к строке с помощью форматирования f-строк:
| print(f"product name '{name}' is already taken") | |
| print(f"product name {name!r} is already taken") |
| print_result(result) | ||
| return True | ||
|
|
||
| print(f"{line!s} is not a command") |
There was a problem hiding this comment.
Здесь форматирование !s не обязательно. По умолчанию в f-строках все форматируется через этот тип форматирования.
| print(f"{line!s} is not a command") | |
| print(f"{line} is not a command") |
|
|
||
| words = line.split() | ||
|
|
||
| if len(words) >= 4 and words[0] == "create": |
There was a problem hiding this comment.
Из-за использования ветвления для проверки состава строки, очень много логики дублируется: проверка количества элементов, выполнение срезов и т.д. Это нарушение критерия S1. Минус балл
Чтобы избежать такого дублирования, стоило использовать match-case. Этот механизм идеально подходит для сопоставления шаблонов.
| if len(words) >= 4 and words[0] == "create": | ||
| name = " ".join(words[1:-2]) | ||
| price = Decimal(words[-2]) | ||
| quantity = int(words[-1]) |
There was a problem hiding this comment.
Нарушение критерия S3. Минус балл
| """ | ||
| # TODO: реализуйте функцию | ||
| return "" | ||
| ids = [] |
There was a problem hiding this comment.
В этой функции очень много копипасты. Всю повторяющуюся логику следовало вынести в отдельную функцию, чтобы избежать форматирования. Возможно, следовало бы в целом разбить эту функцию на несколько единоответственных функций. А то эта функция сейчас делает несколько действий: определяет размер полей, формирует итоговое строковое представление.
Нарушение критерия S2. Минус балл
No description provided.