Seriously though, writing a monolith of a function and not testing anything until you run it the first time isn’t the way to go. Even with a compiler you’re only going to catch syntactical and type issues. No compiler in the world is going to tell you you forgot to store your data in the correct variable, although it or a a linter may have helped you realize you weren’t using it anywhere else.
Agreed. Mypy pre-commit hooks are very useful if you’re starting a fresh project. Adding typing to an existing project which reuses variables with different types… We lost weeks to it.
You can solve this with git:
Seriously though, writing a monolith of a function and not testing anything until you run it the first time isn’t the way to go. Even with a compiler you’re only going to catch syntactical and type issues. No compiler in the world is going to tell you you forgot to store your data in the correct variable, although it or a a linter may have helped you realize you weren’t using it anywhere else.
Python was typeless. And it was common to reuse variables with different types of content.
So you at some point never knew what actually is within the variable you are using.
Using typing in python solve 95% of your problems of having runtime errors instead of compile errors
Agreed. Mypy pre-commit hooks are very useful if you’re starting a fresh project. Adding typing to an existing project which reuses variables with different types… We lost weeks to it.