RefactoringRabbitHole
Code can never be perfect. So when we’re refactoring, we must call good enough at some point. When we forget to call good enough, we’re falling down the metaphorical rabbit hole.
To go down a never ending tunnel with many twists and turns, never truly arriving at a final destination, yet just finding more tunnels. – Urban Dictionary
Relevant
Test pyramid and ice-cream cone
The test ice-cream cone is a strategic anti-pattern. It indicates excessive reliance on expensive and flaky forms of testing, such as manual and end-to-end, especially for components that could otherwise...
Dragan on lack of design skills
The following is a message shared on the company’s internal messaging app by Dragan Stepanović while we worked together at Careem. It was around 2018 or 2019. I have referred...
Architecture Decision Records (ADR) for this site
ADR is for architecture what Git’s commit log is for code. It is a light-weight, append-only, process for documenting changes to a system.
Where do we start refactoring a large method?
We see a large method and decide to refactor. There is so much to nip away at. Where do we start?
Recent posts
A worked example of Value-Stream Mapping
Value-stream maps can be daunting at first glance like these maps on Google Images. ValueTech (a made-up software company for the purpose of our example) thought so too until they...
Notes on Value-Stream Mapping
A value stream is the sequence of activities required to design, produce, and deliver a good or service to a customer. – Value Stream Mapping by Karen Martin and Mike...
First experience with Event Storming
Event Storming is a technique that uses post-it notes to map out a business domain. Alberto Brandolini initially used it as a means to identify aggregates in the context of...