Repository navigation
1.Кривчанская Елена Ивановна.614. - #136
Flounderena wants to merge 18 commits into
Conversation
first task 25.09.2026
first task 25.09.2026
update
Second task utils
second task crud
second task storage
second task cart
EvgrafovMichail
left a comment
There was a problem hiding this comment.
Старайтесь не использовать копипасту, а переиспользовать уже реализованное поведение (функции) и уже рассчитанные значения (константы). Это позволит вам избежать ошибок в будущем.
Итог за тесты: 4.8 / 10
Итоговый штраф: 1
Итог с учетом округления: 4
| 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 |
There was a problem hiding this comment.
Дублирование значения. Вы ранее уже определили переменную TIMESTAMP_BITS, которую следовало использовать тут. Теперь, если значение TIMESTAMP_BITS, придется идти и вносить дополнительную правку еще и тут. Это потенциальный источник ошибок при поддержки кода.
Нарушение критерия S1. Штраф - 1 балл
А еще само значение неверно рассчитано. TIMESTAMP_MS_MAX должен занимать TIMESTAMP_BITS битов. Значение 2 ** 41 занимает 42 бита, т.е. на один больше, чем требуется. Аналогично с другими максимальными значениями
| """ | ||
| # TODO: реализуйте функцию | ||
| return 0 | ||
| return int(time.time() * 1000) - epoch_ms - EPOCH_MS_DEFAULT |
There was a problem hiding this comment.
Это ошибка. Вычитание EPOCH_MS_DEFAULT - лишнее действие.
| # TODO: реализуйте функцию | ||
| return 0 | ||
| creation_time = (snowflake_id >> SEQUENCE_ID_BITS >> NODE_ID_BITS) & ( | ||
| (1 << TIMESTAMP_BITS) - 1 |
There was a problem hiding this comment.
Это перерасчет значения TIMESTAMP_BITS. Т.е. копипаста
| """ | ||
| # TODO: реализуйте функцию | ||
| return 0 | ||
| return (snowflake_id >> SEQUENCE_ID_BITS) & ((1 << NODE_ID_BITS) - 1) |
| print(f"sequence_id must be in [0, {SEQUENCE_ID_MAX}], but it is {sequence_id}") | ||
| return None | ||
|
|
||
| epoch_ms = int(time.time() * 1000) - EPOCH_MS_DEFAULT |
There was a problem hiding this comment.
Здесь следовало вызывать функцию для расчета timestamp. Еще вы вы никак не используете значение epoch_ms, переданное в функцию, а вычитаете только EPOCH_MS_DEFAULT. Т.е. пользователь лишен возможности настраивать значение начала эпохи отсчета. Из-за этого часть тестов падают.
No description provided.