Repository navigation
3. Спиридонов Олег Станиславович. 613 - #39
SpiridonovOleg wants to merge 17 commits into
Conversation
Implement current milliseconds calculation and update return value.
Updated constants for Twitter Snowflake ID generator, including default epoch and bit widths.
| return None | ||
|
|
||
| return ( | ||
| (timestamp_ms << (NODE_ID_BITS + SEQUENCE_ID_BITS)) |
There was a problem hiding this comment.
Вычисление сдвига дублировано в функции decode_timestamp_ms. Это может быть опасно, так как если логика поменяется, то надо будет исправлять в 2х местах, а это можно забыть, поэтому лучше было вынести вычисление в отдельную константу.
Пункт S1, минус балл.
| def change_cart_quantity( | ||
| cart: list[CartLine], cartline: CartLine, quantity: int | ||
| ) -> None: | ||
| cart.append( |
There was a problem hiding this comment.
Что-то вы перемудрили с обновлением значений. Зачем было каждый раз удалять и добавлять, если можно просто саму строку заменить
cart[ind] = (cartline[LINE_PRODUCT_ID_INDEX], cartline[LINE_QUANTITY_INDEX] + quantity)У меня даже тесты упали, но пожалуй не буду снижать.
Но в следующий раз не усложняйте :)
| """ | ||
| # TODO: реализуйте функцию | ||
| return (0, 0) | ||
| changable_cartline = find_cart_line(cart, product_id) |
There was a problem hiding this comment.
Тут уже на грани пункта S2. Понимаю, что тут ruff постарался, но лучше было бы вынести какие-то вычисления на отдельные строки, чтобы избежать слишком длинных строк. Пока не снижаю, но чтобы больше я такого не видел.
| if not normalized_name: | ||
| print("product name must not be blank") | ||
| return None | ||
| elif normalized_name in (product[NAME_INDEX] for product in storage): |
| return True | ||
|
|
||
| match splitted_line.pop(0): | ||
| case "help" if not splitted_line: |
There was a problem hiding this comment.
Для такого условия, если можно было бы написать
match splitted_line:
case ["help"]:| ) | ||
| ) | ||
| return True | ||
| case "read" if len(splitted_line) == 1: |
There was a problem hiding this comment.
Для такого условия можно было написать:
case ["read", product_id]| new_product = ( | ||
| product_id, | ||
| normalized_name, | ||
| normalize_price(fields[1]), |
There was a problem hiding this comment.
Магические константы
Пункт S3
No description provided.