A major controversy broke out last week in the developer community. Thanks to an analysis by Stack Overflow’s resident Data Scientist David Robinson, we learned that programmers that use spaces instead of tabs in their code make more money by a significant margin.
Well, not exactly Mr. Poulton.
Of course we all understand that correlation does not equal causation. These type of explorations into data can sometimes lead to some bizarre and inaccurate conclusions. That being said, the data is quite clear and David accounted for most of the confounding factors.
Putting aside the $15,370 of annual salary difference, does it really matter whether programmers use spaces or tabs? It seems like a frivolous thing. The short answer however is it depends. On smaller teams, there is generally agreement on code formatting. As team size grows however, disagreements on code formatting can lead to infighting and surreptitious code “cleanup” that creates conflicts and distrust, slowing down collaboration.
The true answer is that organizations that agree to standards of code practice function better because it enables experts to perform better. Jeff Atwood of Coding Horror and founder of Discourse shared this bit of wisdom:
When program statements were arranged in a sensible order, experts were able to remember them better than novices. When statements were shuffled, the experts’ superiority was reduced.
So who sets the standards? Top down edict can work on a small team, but across teams and an entire organization, you need a community. And that community should make those procedures easily available and discoverable for everyone. That way when someone shares code or insights into code, instead of snarky comments about format, you can get real work done and useful answers to solve coding problems faster.
And as a friendly reminder, if you can, lose the tabs 😉
What is your personal preference for formatting, spaces or tabs? How about coding standards for your team, who is setting these practices?
Should I refactor the code that is marked as “don’t change”?
Should I refactor the code that is marked as "don't change"?
I am dealing with a pretty big codebase and I was given a few months to refactor existing code. The refactor process is…
Kind of like opening that door where you hear banging in a horror movie…
We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.