Not So Random Software #20 – Coupling and Cohesion

Hello there! This week I am thinking about coupling and cohesion; two seemingly simple but incredibly effective metrics to design systems both in the small and in the large. As usual, I am going to randomly pick some resources on this topic I have been reading over time, hope you enjoy! A random article or […]

Not So Random Software #13 – Observability

Welcome back to Not So Random Software. This week’s links are dedicated to Observability; the capability to observe the system’s current state and how the system reached such a state. I have been researching this topic for a lightning talk at the London Ruby User Group and here are some of the links I found. […]

To raise or not to raise exceptions, and the art of designing return values

Each time we call a function that’s meant to perform some operation that could succeed or fail we are always left with the same dilemma. What should be the return value? Should I return nil if a failure happened? Or I should throw an exception? What does¬†failure¬†means anyway? Like every interesting question, the answer is […]