Repository navigation
2. Павлова Валерия Юрьевна. 614 - #81
lerapavlova-1 wants to merge 4 commits into
Conversation
|
|
||
|
|
||
| def find_cart_line(cart: list[CartLine], product_id: int) -> CartLine | None: | ||
| for i in cart: |
There was a problem hiding this comment.
Неинформативное имя i. Имя i информативно только в контексте индексов. В данном цикле с i связывается не индекс, а конкретный товар из корзины. Имя i никак это не отражает.
Нарушение критерия M2. Минус 0.5 балла
|
|
||
| def find_cart_line(cart: list[CartLine], product_id: int) -> CartLine | None: | ||
| for i in cart: | ||
| if i[0] == product_id: |
There was a problem hiding this comment.
Использование магической константы 0. Из кода неясно, что она обозначает и почему именно 0. Чтобы это понять, придется изучать документацию (условие задачи). Более того, если структура кортежа изменится (первый элемент будет хранить количество, а второй - ID), придется вручную править все места, где используется эта магическая константа.
Нарушение критерия S3. Минус балл
| tovar = find_cart_line(cart, product_id) | ||
| if tovar is not None: | ||
| new_tovar = (product_id, tovar[1] + quantity) | ||
| for i in range(len(cart)): |
There was a problem hiding this comment.
Нарушение критерия T5. Минус 0.25 балла
| product_id, | ||
| (product[NAME_INDEX], product[PRICE_INDEX], product[QUANTITY_INDEX] - quantity), | ||
| ) | ||
| tovar = find_cart_line(cart, product_id) |
There was a problem hiding this comment.
Лучше не использовать транслитерацию для имен переменных. Старайтесь использовать валидные английский слова для имен, т.к. английский - универсальный язык общения, который будет понятен подавляющему большинству разработчиков.
| cart.remove(tovar) | ||
| return (product_id, 0) | ||
| new_tovar = (product_id, new_k) | ||
| for i in range(len(cart)): |
There was a problem hiding this comment.
Поиск позиции в строках 96-98 повторяет аналогичный поиск в строках 59-61. Это копипаста. Нарушение критерия S1. Минус балл
|
|
||
| def generate_product_id(storage: list[Product]) -> int: | ||
| """Choose the identifier for the next product added to ``storage``. | ||
| if not len(storage): |
There was a problem hiding this comment.
Не нужно писать not len(...). Такой конструкции вполне достаточно для проверки пустоты:
| if not len(storage): | |
| if not storage: |
No description provided.