Repository navigation
Conversation
| TIMESTAMP_MS_MAX: Final[int] = 0 | ||
| NODE_ID_MAX: Final[int] = 0 | ||
| SEQUENCE_ID_MAX: Final[int] = 0 | ||
| TIMESTAMP_MS_MAX: Final[int] = 2**41 - 1 |
There was a problem hiding this comment.
Использование магической константы 41. Если в будущем длина полей в идентификаторе изменится, придется вручную искать места, где встречается эта константа, и исправлять все самостоятельно.
Правильнее было бы использовать константу TIMESTAMP_BITS для расчетов.
Минус 1 балл за использование магических констант
| """ | ||
| # TODO: реализуйте функцию | ||
| return 0 | ||
| a = (time.time_ns() // 1000000) - epoch_ms |
There was a problem hiding this comment.
Неинформативное имя переменной. Невозможно понять, какой физический смысл заложен в переменную с именем a. От этого код тяжелее читать.
Минус 0.5 балла
| elif not (0 <= sequence_id <= SEQUENCE_ID_MAX): | ||
| print(f"sequence_id must be in [0, {SEQUENCE_ID_MAX}], got {sequence_id}") | ||
| return None | ||
| a = (time.time_ns() // 1000000) - epoch_ms |
There was a problem hiding this comment.
Копипаста. У вас же уже реализована функция read_current_millis, в которой заложена логика вычисления timestamp. Зачем эту логику дублировать еще раз тут?
Минус 1 балл за копипасту
| if a > TIMESTAMP_MS_MAX: | ||
| print("overflows") | ||
| return None | ||
| else: |
There was a problem hiding this comment.
Ненужный else. Минус 0.25 балла за ненужный else
No description provided.