I’ve never understood returns (https://github.com/dry-python/returns), is it just a gimmick or do people actually use it? It seems like it would be awkward to use and is working against how the language was designed.
I don’t use this library, but one I wrote myself with maybes, eithers, validators, and various other monads in production code.
While not pythonic, I don’t think its a gimmick. I allow my junior engineers to write imperative and we will pair program to convert it to use monad structures like the ones in this library. We tend to find a lot of bugs and reduce the lines of code.
While we could probably clean up their imperative code to remove bugs and duplicated logic, but I find using monad chains makes it easier to find abstractions.
Data validation and error handling probably net the most return on investment in my experience. Simply return a left at some unit of code and handle it at the end of the chain.
I’ve never understood returns (https://github.com/dry-python/returns), is it just a gimmick or do people actually use it? It seems like it would be awkward to use and is working against how the language was designed.
I don’t use this library, but one I wrote myself with maybes, eithers, validators, and various other monads in production code.
While not pythonic, I don’t think its a gimmick. I allow my junior engineers to write imperative and we will pair program to convert it to use monad structures like the ones in this library. We tend to find a lot of bugs and reduce the lines of code.
While we could probably clean up their imperative code to remove bugs and duplicated logic, but I find using monad chains makes it easier to find abstractions.
Data validation and error handling probably net the most return on investment in my experience. Simply return a left at some unit of code and handle it at the end of the chain.