Skip to content

Category: Concepts

Refactoring – Flocking rules

I have always been a fan of Sandi Metz, and have finally got around to her book 99 Bottles of OOP. A key takeaway so far from this has been the flocking rules for refactoring. The name derives from the small changes an individual bird makes in a flock that is then reflected by all the other birds so everyone ends up going in the right direction. The premise is fairly simple, make small incremental changes that only change a single thing a time. A lot of people think they do this already, however small is not small enough in…

The fragmentation of UI frameworks and structuring for the future

The highway of UI Given the fast moving space in which modern UI frameworks operate, its more important than ever to have some methods behind the madness. Adhering to some SOLID OO principles to help keep code clean, maintainable and most importantly; separated from the functions of the user interface. The most important of these SOLID principles in this case is the separation of concerns. By keeping the actions of the UI separate from the logic behind it we allow portability. A lift and shift exercise can be reduced from a back breaking week to a nice easy afternoon. Great,…

Critical thinking in software development

Critical thinking is a key skill when it comes to software development. Being able to diagnose a problem and find common causality can save hours of effort and frustration. However it seems to be a skill that is often overlooked and undervalued. Sometimes you hear the phrase “10x” developer thrown around. This is a developer that can do ten times the amount of work in a given time than an average developer. Whether or not this is true is another argument altogether, however I would suggest that critical thinking skills and not development skills would account for much in this…