ru_python | Unsorted

Telegram-канал ru_python - Python

14289

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/1961404

Subscribe to a channel

Python

Не дай бог есть кодген

Читать полностью…

Python

вот, можно писать тесты

Читать полностью…

Python

Ну, такое проверит что типы в проекте соответствуют типам в либе. Но не что они соответствуют спецификации. Пока тайпхинты тривиальные, это не актуально, но они же распухают.

Читать полностью…

Python

Какой-нибудь декоратор, который вешается на тест-функцию и ее содержимое полностью переносит в файл, который находится во временной директории, натравливает директивно на файл mypy и в итоге тест либо прошел, либо нет, в зависимости от реакции mypy

Читать полностью…

Python

Т.е. тебе надо включить ее в "настоящий" проект, натравить туда mypy и убедиться, что все ок

Читать полностью…

Python

Может уже существует, по факту для этого нужно уметь внутри пайтеста натравливать mypy на изолированные кусочки кода

Читать полностью…

Python

Можно попробовать ее создать

Читать полностью…

Python

Ну выводимы, и что? Я о том что вот мы получили простыню из связанных межлу собой дженериков и прочего. Как нам убедиться, что они описывают то, что мы для них планировали и не описывают лишнего? Для обычного кода мы юнит тестов понапишем и запустим, позитивных и негативных. А тут как?

Читать полностью…

Python

Так они ж по прежнему статически выводимы должны быть

Читать полностью…

Python

Так а дальше все обрастет абстракциями как и обычный код

Читать полностью…

Python

Полноту-то обеспечить недолго. Это не значит, что вме взаимосвязи волшебным образом начнут восприниматься.

Читать полностью…

Python

а наружу из такого модуля должны торчать нормальные питоновские типы

Читать полностью…

Python

В тайпскрипте, говорят, язык аннотаций тьюринг-полный. Рано или поздно любая система аннотаций типов, я думаю, к этому приходит

Читать полностью…

Python

Чтобы тайпчекер такое проверил, ему надо это всё как-то оценить. А с произвольными операциями - по сути выполнить код, чего анализ типов в общем-то не очень поедполагает.

Читать полностью…

Python

Смотря что понимать под словом разрешены. Есть правила питонов и есть отдельно "язык типизации"

Читать полностью…

Python

Для либы тоже нормально. Если у тебя даже дженерик классы и они имеют какие то констреинты то валидация все равно должна быть.

Читать полностью…

Python

вот такое первым нагуглилось: https://pypi.org/project/pytest-mypy-testing/

Читать полностью…

Python

Стоит поискать такое, вполне мб кто-то уже сделал

Читать полностью…

Python

Лично мне кажется, что плагин для пайтеста довольно тривиально написать

Читать полностью…

Python

Это все хорошо, когда у тебя, так скажем, проект последней мили. Когда у тебя либа, быть уверенным в корректности ее типизации - довольно нетривиальная задача

Читать полностью…

Python

Первый раз слышу чтобы кто то писал тесты на типы. Успешный проход тайпчекера это как в компилируемых языках успешная компиляция

Читать полностью…

Python

По факту для такого нужна среда для запуска тестов

Читать полностью…

Python

Будем типа их писать

Читать полностью…

Python

Я, кстати, в итоге так и не получил ответа: как с усложнением тайпхинтов их тестами на соответствие требованиям покрывать.

Читать полностью…

Python

Ну некоторых конструкций явно не хватает конечно

Читать полностью…

Python

Ну там и кондишнл типы есть, а у нас увы

Читать полностью…

Python

код на ситайпсах это такая внутрянка которая пишется один раз и потом её 10 лет никто не трогает, не то что бы в ней прям нужны тайпхинты

Читать полностью…

Python

Тебе на уровне языка четко сказано, что имеешь право пихать в тайпхинты любое валидное python-выражение. В рантайме будет работать. Но условный mypy прожует тоьько то, что описано в спеке тайпинга или покрыто плагином

Читать полностью…

Python

Выражения на уровне типов вполне возможны, но я не уверен, возможны ли они конкретно внутри аннотаций.

Аннотации - это по сути отдельный язык внутри языка, который появился относительно недавно, и у которого все еще огромные проблемы в плане гибкости, выразительности и прочего, на уровне аннотаций даже логическое И нормально выразить нельзя.

Читать полностью…

Python

Ответ простой: питоновскс система тайпхинтов - это набор костылей под частные случаи, что продумали - работает и ни шагу в сторону

Читать полностью…
Subscribe to a channel