I was having a nosey at Pull Requests, and I saw one that was titled “Code to get the rest of the team up and running”.
I have a look, and after he sent the initial request, there were 2 other additional fixes along the lines of “fix broken build”. The next day, I checked back and there were 7 other additional fixes, again along the lines of “fix broken build”.
9 attempts.
Clearly, he wrote the code, and didn’t test it at all. Didn’t even build it. He just submitted the code, and let the Continuous Integration build run, and fail. Then run and fail, then run and fail… repeat until we all go insane.
They do say the definition of insanity is to do the same action multiple times and expect a different result.
9 attempts.
Still can’t get over it. At what point do you realise it’s best to actually test your changes?
I guess in his mind, he wanted to check in the code as quickly as possible so he can “get the rest of the team up and running”, but surely you have got to realise your approach isn’t working. When your “quick change” has been spread over 2 days; it is no longer quick.
I love it when people cut corners to save time…but in the end it takes 5 times as long as it would have done if they had done it properly.
9 attempts.
But wait, there’s more. Well, there will always be more because he doesn’t learn from his mistakes.
His next set of changes was to add support to handle a new message. His colleague reviewed his code and left a comment like “this line of code will prevent the message from being sent”. Yes that is right, he is adding a new message, and the message won’t even send. Yet he is sending it for review. Obviously didn’t test it; just coded it blind like before.
So he makes the change, makes some other smaller suggested tweaks. The build fails with Code Analysis errors which he would have found if he had actually built his changes locally. You know, step 1 when you begin to test your changes, and precisely the problem he encountered the week prior with his previous change.
The reviewer makes another comment, doubting some other part of his code would work. He replies:
“I think I will have to abandon this review and get this tested.”
Insane Developer
You know what makes this worse? He used to be employed as a software tester.