Skip to content

1. Кательников Кирилл Владимирович. 614 - #22

Open
Kirill-us wants to merge 21 commits into
python-department:mainfrom
Kirill-us:main
Open

Kirill-us wants to merge 21 commits into
python-department:mainfrom
Kirill-us:main

Conversation

@Kirill-us

Copy link
Copy Markdown

No description provided.

@github-actions github-actions Bot added the 614 label Sep 23, 2026

@EvgrafovMichail EvgrafovMichail left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Все тесты пройдены, оценка до штрафа: 10
Итоговый штраф за оформление: 2.75

Итог с учетом округления: 7

Comment thread src/part1/constants.py
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Использование магической константы 41. Если в будущем длина полей в идентификаторе изменится, придется вручную искать места, где встречается эта константа, и исправлять все самостоятельно.
Правильнее было бы использовать константу TIMESTAMP_BITS для расчетов.

Минус 1 балл за использование магических констант

Comment thread src/part1/snowflake.py
"""
# TODO: реализуйте функцию
return 0
a = (time.time_ns() // 1000000) - epoch_ms

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Неинформативное имя переменной. Невозможно понять, какой физический смысл заложен в переменную с именем a. От этого код тяжелее читать.

Минус 0.5 балла

Comment thread src/part1/snowflake.py
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Копипаста. У вас же уже реализована функция read_current_millis, в которой заложена логика вычисления timestamp. Зачем эту логику дублировать еще раз тут?

Минус 1 балл за копипасту

Comment thread src/part1/snowflake.py
if a > TIMESTAMP_MS_MAX:
print("overflows")
return None
else:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ненужный else. Минус 0.25 балла за ненужный else

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants