Repository navigation
1. Кабанов Дмитрий Константинович 614 - #31
Dmitrii89-svg wants to merge 10 commits into
Conversation
EvgrafovMichail
left a comment
There was a problem hiding this comment.
Старайтесь давать понятные имена переменным, а также избегать использования магических констант. Это сильно улучшит качество вашего кода.
С учетом упавших тестов оценка: 9.6
Штраф за оформление: 1.5
Итог с учетом округления: 8
|
|
||
| Args: | ||
| epoch_ms: The custom epoch expressed as Unix milliseconds. | ||
| a = int(time.time() * 1000) |
There was a problem hiding this comment.
Неинформативное имя переменной. Невозможно понять, какой физический смысл заложен в переменную с именем a. От этого код тяжелее читать.
Минус 0.5 балла
| snowflake_id: An identifier produced against the same epoch. | ||
| epoch_ms: The epoch the identifier was generated against. Defaults to | ||
| the original Twitter epoch (2010-11-04 01:42:54.657 UTC). | ||
| a = snowflake_id >> 22 |
There was a problem hiding this comment.
- Аналогично этому комментарию
- Использование магической константы
22. Если в будущем длина полей в идентификаторе изменится, придется вручную искать места, где встречается эта константа, и исправлять все самостоятельно. Также непонятна природа константы: при чтении кода неясно, почему именно 22 и что это значит.
Минус 1 балл за использование магических констант
|
|
||
| def decode_node_id(snowflake_id: int) -> int: | ||
| """Read the node identifier field out of a Snowflake identifier. | ||
| a = (snowflake_id >> 12) & 0b1111111111 |
|
|
||
| Args: | ||
| snowflake_id: An identifier produced by :func:`generate_snowflake_id`. | ||
| a = snowflake_id & 0b111111111111 |
| m = f"sequence_id must be in [0,{SEQUENCE_ID_MAX}]" | ||
| print(m) | ||
| return None | ||
| if epoch_ms > TIMESTAMP_MS_MAX and epoch_ms < 0: |
There was a problem hiding this comment.
Корректнее проверять не epoch_ms, а результат выполнения read_current_millis. Сам по себе epoch_ms может ничего не переполнять, а вот актуальный таймстеп, рассчитанный с его помощью, может выходить за диапазон. В итоге у вас на этом один тест и упал.
No description provided.