3 ms·
Other than having type annotations, in what way is this nicer? Seems way more verbose and less readable.
by hbrn 4y ago
Other than having type annotations, in what way is this nicer?
Seems way more verbose and less readable.
- zzzeek 4y agoit's fully typed for one thing the previous example was not verbose enough IMO, the intent here is clear and the two variables with different purposes are kept separate
- hbrn 4y agoHe could've used different variable names in his example too, which makes me believe variable clashing was in fact intentional. And while it's definitely a controversial approach, there are cases where it can be considered more readable (e.g. where provider and consumer of "temp" are isolated entities which have their own meanings of "temp").
- zzzeek 4y agopep-484 typing hates when you use the same variable name for two different purposes and I can't say I disagree with that. Being strict about what kinds of types you attach to variables and allowing variables to be statically typed is a good idea that reduces bugs.
- hbrn 4y agoWe have two variables with the same name, but one is a constructor argument, another one is an instance attribute. PEP-484 is absolutely fine with that, it's downsides (and benefits) are purely in the human domain. > allowing variables to be statically typed is a good idea that reduces bugs Not when it comes at the cost of readability. I'd argue more bugs (and definitely more severe bugs) are caused by poor readability than by lack of static types.