Skip to content

Commit ca6be99

Browse files
committed
📝 код-ревью 09: разобрал fixme-комменты из задачи — типы декоратора (ParamSpec)
1 parent 015e335 commit ca6be99

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

‎code-review-practice/solutions/09_retry.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@
3131

3232
8. Нет предела на суммарное время; при большом `times*delay` можно висеть очень долго.
3333

34+
9. **Нет аннотаций типов** (`retry`, `decorator`, `wrapper`). Типизировать декоратор с
35+
параметрами руками муторно, но параметры хотя бы просятся: `times: int = 3`,
36+
`delay: float = 1`. Для сохранения сигнатуры обёрнутой функции — `ParamSpec`/`TypeVar`
37+
(вместе с `functools.wraps` из п.6).
38+
3439
**Итого:** тихий возврат `None` при провале (он превращает отказ в ложный успех) +
3540
ретрай списания денег. Мораль: «выглядит рабочим» ≠ «корректно обрабатывает провал»;
3641
и ретрай — только для идемпотентного.

0 commit comments

Comments
 (0)