Size: a a a

2020 February 23

SM

Serge Matveenko in SPb Python
Dmitriy
Это противоречит изначальной парадигме duck typing. Плюс рефакторинг можно проверять тестами, скорее всего это надежней.
Нисколько не противоречит. Особенно с новыми Static Protocols в 3.9
источник

SM

Serge Matveenko in SPb Python
Vsevolod Deresh
Ну это понятно, Но теперь это идёт за правило хорошего тона?
Теперь, во многих командах на CI включен mypy. Так что, аннотации могут быть must do.
источник

D

Dmitriy in SPb Python
У меня прекрасно работает Circle CI для Django без mypy. Хочется надеяться что эта типизация в код Django не попадет, впрочем на здравый смысл давно уже надеяться не приходится. Давайте раздувать описания типов в аргументах методов на несколько строк как бывает в Java.
источник

SM

Serge Matveenko in SPb Python
Dmitriy
У меня прекрасно работает Circle CI для Django без mypy. Хочется надеяться что эта типизация в код Django не попадет, впрочем на здравый смысл давно уже надеяться не приходится. Давайте раздувать описания типов в аргументах методов на несколько строк как бывает в Java.
Типизация - ещё один способ обеспечить стабильность кода.
Если у вас всё работает, мы за вас рады.
Но, я бы рекомендовал почитать для общего развития что-нибудь типа этого: https://homotopytypetheory.org/book/
источник

D

Dmitriy in SPb Python
Я программировал раньше на Java, давно так что знаю зачем нужна типизация. И она не всегда дает стабильность кода т.к. вызов с неправильными типами аргументов может создать необработанное исключение.
источник

D

Dmitriy in SPb Python
Да, меньше будет exploit. Однако стабильности в целом будет не особенно больше. Главное это тестирование.
источник

DA

Dmitry Alimov in SPb Python
А можно как-то mypy сообщить какие возможные исключения ожидаются, чтобы он проанализировал, и сказал что ожидания верны или не верны?
источник

DA

Dmitry Alimov in SPb Python
Недавно поймал из-за этого баг.   Ловил одно исключение, а прилетело другое( было бы здорово если такое ловилось на этапе анализа.
Может уже есть решения, чтобы самому не писать.
источник

SM

Serge Matveenko in SPb Python
Dmitry Alimov
А можно как-то mypy сообщить какие возможные исключения ожидаются, чтобы он проанализировал, и сказал что ожидания верны или не верны?
Пока особо нет. Про исключения молчат все PEP-ы пока.
источник

DA

Dmitry Alimov in SPb Python
Serge Matveenko
Пока особо нет. Про исключения молчат все PEP-ы пока.
:( эх
источник

SM

Serge Matveenko in SPb Python
Dmitry Alimov
Недавно поймал из-за этого баг.   Ловил одно исключение, а прилетело другое( было бы здорово если такое ловилось на этапе анализа.
Может уже есть решения, чтобы самому не писать.
Но! Если ты ждёшь исключение, то оно уже не исключение, а логика и надо в этом месте дизайнить код по-другому.
источник

SM

Serge Matveenko in SPb Python
Dmitriy
Я программировал раньше на Java, давно так что знаю зачем нужна типизация. И она не всегда дает стабильность кода т.к. вызов с неправильными типами аргументов может создать необработанное исключение.
Так для этого и нужен статический анализатор, чтобы знать, что сюда может прилететь тип, которого ты не ждёшь.
источник

SM

Serge Matveenko in SPb Python
Да, это как раз серьёзное отличие от жабы и го. Иногда не хватает.
источник
2020 February 24

V

Vasya in SPb Python
Serge Matveenko
Но! Если ты ждёшь исключение, то оно уже не исключение, а логика и надо в этом месте дизайнить код по-другому.
источник

SM

Serge Matveenko in SPb Python
Шутка устарела. Добро пожаловать в дивный новый мир!
https://blog.golang.org/go1.13-errors
источник

p

pragus in SPb Python
Не скажу, что лучше, но уже не так больно
источник

IZ

Ilia Zviagin in SPb Python
Dmitry Alimov
Недавно поймал из-за этого баг.   Ловил одно исключение, а прилетело другое( было бы здорово если такое ловилось на этапе анализа.
Может уже есть решения, чтобы самому не писать.
Блин, вот проблема...


except Exception - и все!
источник

DA

Dmitry Alimov in SPb Python
Ilia Zviagin
Блин, вот проблема...


except Exception - и все!
да, в итоге так и сделал) т.к. там бросался Exception и другие исключения.
источник

MB

Max Block in SPb Python
Приветствую! А какой темплейт движок вы используете в своих проектах? django / jinja2 / что-то еще?

Дефолтный темплейтный движок джанги начал раздражать. Когда я раньше работал с фласком, я не помню чтобы у меня были бы недовольства от jinja2. Есть ли какие-то проблемы с jinja2 в экосистеме джанги?
источник

SM

Serge Matveenko in SPb Python
Dmitry Alimov
да, в итоге так и сделал) т.к. там бросался Exception и другие исключения.
Ну, как бы надо следить за этим. Неожиданные обрабатывать как неожиданные, логгировать, алертить как-то.
источник