Skip to content

Commit 015e335

Browse files
committed
📝 код-ревью 08: разобрал fixme-комменты из задачи — типы, маппинг доменов в конфиг
1 parent 02a1364 commit 015e335

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

‎code-review-practice/solutions/08_email_validator.md‎

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

3232
8. `if "@" not in email` избыточен: следующая проверка `len(parts) != 2` уже это ловит.
3333

34+
9. **Нет аннотаций типов** (все три функции). `email: str -> bool`,
35+
`emails: list[str] -> list[str]` — контракт валидатора должен читаться из сигнатуры.
36+
37+
10. **Маппинг доменов захардкожен** (`normalize_email`, строка 32). `if domain == "googlemail.com": domain = "gmail.com"` —
38+
одиночный `if` для алиаса домена. Таких алиасов много; их место — в словаре-константе
39+
(`DOMAIN_ALIASES = {...}`) или конфиге, а не в ветвлении. Тогда добавление нового алиаса
40+
не трогает код.
41+
3442
**Итого:** главное — поймать рассинхрон «валидируем сырое, нормализуем изменённое» и
3543
порядок операций, плюс набор питон-идиом (`is None`, `== True`). Валидатор email руками —
3644
сам по себе повод для комментария на ревью.

0 commit comments

Comments
 (0)