Back in the day when A-stad (the project I’m currently working on) was born, there were no tests, hardly any code reviews and in the end we were happy if it worked at all.
Though that did seem a good idea at the start (boy, were we fast) rather soon than late we were confronted with reality. Coding like that doesn’t last long, in no time bugs were appearing everywhere and our time was devoted to fixing bugs more than it was to writing new features.
This had to change.
Simple enough… in theory.
“Just” review code, write unit- and functional tests and automate everything. We knew the theory but change came at (quite a) slow pace. Turns out changing habbits is hard. Very hard.
Fast forward 2 years, where our code gets reviewed en our tests run before any pull request is merged into the development branch.
Last week my pull request was rejected. Twice. And at that very moment I was incredibly proud of what we had achieved. Not only are tests a must in new (and changed) code, but code is actually reviewed (instead of merging it after looking at it for a minute), code coverage is important and discussions arise on how we could improve those 10 lines of code into 4 more efficient ones.
At this point I have only one thing to say: well done devs. Well done… 😎