Interesting that little correlation was found. My experience has been that "good" programmers follow the most prevalent conventions of the language so their code is easily parsed by other humans used to seeing it that way. Like I use a braces on their own lines in C# but an opening brace at the end of the line in Ecmascript. When in Rome...
This is somewhat silly, though. Prevalent conventions are followed by the majority by definition. Such that most of your experience will be with those conventions. Again, by definition of it being prevalent.
I grant that conformity does signal education of the norms. Which can be seen as signaling effort. But I expect it to be so noisy that it will have little predictive power.
Bad drivers I have encountered are much more likely to follow the rules of the road to the letter. Good drivers will often break them based on the situation. The difference is situational awareness.
>My experience has been that "good" programmers follow the most prevalent conventions of the language so their code is easily parsed by other humans used to seeing it that way.
Agree. To take this a step further, I would say good programmers follow the style that exists in the codebase, if applicable, for consistency and therefore maintainability's sake.
It' doesn't necessarily mean they are a good programmer, but it means they are fairly meticulous, which can be a trait of a good programmer.
The "good"/experienced programmers are the ones that will break established styles to improve readability in corner cases, instead of following the rules blindly. On top of that, they've probably been doing it long enough they have their own preferences and idiosyncrasies, some of which may go against established styles.
On the flipside are the "bad" and new programmers, who don't really have their own style nor have learned an established one, so they just do whatever.
It's the average ones in the middle who only follow established styles that I would expect to be easy to pick out.
I guess I'll be the first to disagree with your disagreement :)
I think the value of standardization is much higher than the value of "break[ing] established styles to improve readability in corner cases". I just find the marginal value of these little stylistic improvements to be extremely low, and the value of code looking quite similar everywhere to be quite high.
Exactly, that's my basic ask for anyone making a PR on any of my OSS code, and when doing a PR myself I try to do that as well, be it for work or for fun. The first code I wrote as a self-taught programmer had a lot of weird spacing, like I'd write `<div class = "hello" data-label = "...">`
Code style has zero to do with how good a programmer is. Good programmers structure and architect their applications well. Bad programmers doesn’t even have a clue what that means.
I would agree with this. Follow the language’s official formatter, don’t customize it, run official linters if they exist. Otherwise it’s endless bikeshed.