this post was submitted on 29 Jun 2023
14 points (100.0% liked)

Python

6281 readers
68 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
💓 Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments

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.