Conversation
| # код писать тут | ||
| product_type = request.GET.get('type') | ||
| if product_type: | ||
| products = [product for product in PRODUCTS if product['type'] == product_type] |
There was a problem hiding this comment.
Я предпочитаю не создавать переменные в ветках ифа – одно неверное движение и ты используешь неопределённую переменную. Вместо этого я её создаю перед ифом с подходящим значением по-умолчанию. Тут правильное значение по-умолчанию ещё и код может упростить слегка.
There was a problem hiding this comment.
Тут у тебя в разных ветках ифа разный статус, а всё остальное одинаковое. От этой копипасты бы избавиться.
There was a problem hiding this comment.
Оборачивание ключей в лист приводит к копированию ключей в отдельный список в памяти. Это не только занимает чуть больше памяти каждый запрос, но ещё и медленнее работает: проверка элемента на вхождение в словаре быстрее чем в списке.
Советую избавиться от этой переменной.
There was a problem hiding this comment.
Вот для таких случаев, когда ты создаёшь переменную, а потом сразу применяешь её пригождается валрус оператор:
if product_type := request.GET.get('type'):
...
No description provided.