Skip to content

Instantly share code, notes, and snippets.

@gernotpokorny
gernotpokorny / clean-code.md
Last active May 22, 2023 13:19
Clean Code

Clean Code (opinionated)

Tool Selection

Code which does use unfavorable tooling and design patterns cannot be considered clean code.

Of course SOLID, KISS and so on are all important and I don't want to downplay that either, but there are much more important things which have much more devastating effects on your codebase and company if you get those things wrong, because these things are at the foundation of your codebase. One of those things is the tool selection.

Most of the time there are many different ways to solve a problem, but at the end of the day one way is most of the time clearly better then the other. Why may one way be so much better then the others? Various tools have different advantages and disadvantages, because having various advantages and disadvantages is a natural consequence of doing things differently and most of the time one advantage may not be important at all to achieve the goal, but is actually one of the main selling points of a tool. In the end usually a favorite emer

@gernotpokorny
gernotpokorny / agility.md
Last active December 30, 2023 16:26
Agility

Agility

You are not working agile if you do not test your software

Agile working is about bringing people, processes, connectivity and technology, time and place together to find the most appropriate and effective way of working to carry out a particular task

For most companies "agile" is just a buzzword for marketing purposes, they are not really working agile. I claim that testing is the most effective form of collaboration in software development, there is nothing that comes even close to it. This is very important — testing is COLLABORATION. I claim that when you do not test your software you cannot claim to be an agile working software company, especially at scale.

This becomes very clear at scale at big software projects. There is simply no way to claim that you work agile when you do not test your code, just because you hire a Scrum Master or a Product Owner or whatever and/or introduce another daily/meeting.