Repository navigation
Conversation
| """ | ||
| # TODO: реализуйте функцию | ||
| return (0, 0) | ||
| product = read_product(storage, product_id) |
There was a problem hiding this comment.
Лучше не экономить строки и оставлять пробелы (пустые строки) между логическими блоками. Так читабельность кода улучшается.
| ), | ||
| ) | ||
| for line in cart: | ||
| if line[LINE_PRODUCT_ID_INDEX] == product_id: |
There was a problem hiding this comment.
Тут лучше было бы использовать find_cart_line()
Пункт S1
| product = update_product( | ||
| storage, | ||
| product_id, | ||
| ( |
There was a problem hiding this comment.
Когда ruff делает такие страшные вещи, то стоит задуматься над тем, чтобы вынести какие-то вычисления на отдельные строки (в данном случае можно было бы создать кортеж и положить его в переменную)
А то читать страшно :)
| name, price, quantity = fields | ||
| price = normalize_price(price) | ||
| for i in range(len(storage)): | ||
| product = storage[i] |
There was a problem hiding this comment.
Чтобы такое не писать, надо использовать enumerate.
Пункт T5
| # TODO: реализуйте функцию | ||
| return 0 | ||
| for product in storage: | ||
| if product[PRODUCT_ID_INDEX] == product_id: |
There was a problem hiding this comment.
Цикл:
for index, product in enumerate(storage):
if product[PRODUCT_ID_INDEX] == product_id:встречается несколько раз, лучше было бы использовать везде read_product. Код был бы понятнее.
Пункт S1
| return PRODUCT_ID_MIN | ||
| max_id = 0 | ||
| for product in storage: | ||
| max_id = max(max_id, product[PRODUCT_ID_INDEX]) |
There was a problem hiding this comment.
Тут кстати можно было бы сделать так:
max_id = max(product[PRODUCT_ID_INDEX] for product in storage)
No description provided.