Repository navigation
Conversation
| if not product_name: | ||
| print("product name must not be blank") | ||
| return None | ||
| storage_product_names = [product[NAME_INDEX] for product in storage] |
There was a problem hiding this comment.
Лучше проверить это условие в цикле, чтобы не перебирать все значения из storage и не выделять дополнительную память для хранения списка имен продуктов
| return None | ||
|
|
||
| product_id = generate_product_id(storage) | ||
| product_price = normalize_price(fields[1]) |
There was a problem hiding this comment.
Нарушение критерия S3. Минус балл
| print("product name must not be blank") | ||
| return None | ||
|
|
||
| product_index = -1 |
There was a problem hiding this comment.
Нет необходимости сохранять индекс и заводить флаг для этих проверок. Вы можете сразу напечатать сообщение о нарушении соответствующего условия и выйти из функции, как только найдете нарушения нужного условия в цикле for. Это будет эффективнее.
| max( | ||
| max( | ||
| [len(str(product[i])) for product in storage] + [0] | ||
| ), # + [0] во избежание |
There was a problem hiding this comment.
В функции max можно задать значение для параметра default. Смысл этого параметра - значение, возвращаемое в том случае, когда на вход передан пустой итерируемый объект
| """ | ||
| # TODO: реализуйте функцию | ||
| return "" | ||
| col_width = [ |
There was a problem hiding this comment.
Это списковое включение очень тяжело читать. Старайтесь избегать таких усложнений в коде
|
|
||
|
|
||
| # TODO: при необходимости добавьте свои вспомогательные функции | ||
| return " ".join(name.split()).lower() | ||
|
|
||
|
|
||
| def get_storage_str_representation(storage: list[Product]) -> str: |
There was a problem hiding this comment.
Функция нарушает принцип единой ответственности. В ней описана и логика вычисления максимального размера колонок, и логика форматирования строк.
Нарушение критерия S2. Минус балл
| row = "|" | ||
| for i, cell_data in enumerate(row_data): | ||
| cell = str(cell_data).ljust(col_width[i]) | ||
| row = row + " " + cell + " |" |
There was a problem hiding this comment.
Нарушение критерия T8. Минус 0.25 балла
No description provided.