1 parent 015e335 commit ca6be99Copy full SHA for ca6be99
1 file changed
code-review-practice/solutions/09_retry.md
@@ -31,6 +31,11 @@
31
32
8. Нет предела на суммарное время; при большом `times*delay` можно висеть очень долго.
33
34
+9. **Нет аннотаций типов** (`retry`, `decorator`, `wrapper`). Типизировать декоратор с
35
+ параметрами руками муторно, но параметры хотя бы просятся: `times: int = 3`,
36
+ `delay: float = 1`. Для сохранения сигнатуры обёрнутой функции — `ParamSpec`/`TypeVar`
37
+ (вместе с `functools.wraps` из п.6).
38
+
39
**Итого:** тихий возврат `None` при провале (он превращает отказ в ложный успех) +
40
ретрай списания денег. Мораль: «выглядит рабочим» ≠ «корректно обрабатывает провал»;
41
и ретрай — только для идемпотентного.
0 commit comments