This one is about practices to ensure code quality. But tool driven things. I'm less interested in the use LINT-style tools, than in the use reviews, pair programming and refactoring. so the last ones were the ones I asked about.
Asking "do you pair programming" survey says:
Yes, all the time | 2% | ||
Yes, often | 6% | ||
Yes, from time to time | 19% | ||
No, almost never | 47% | ||
No, never | 18% |
In other words, next to no respondents practice pairing often, and two thirds almost never or never practice it. , I honestly almost never pair myself. Can't decide if this is good or bad.
Next question was if respondents use code reviews. The responses were:
Yes, all code is reviewed | 6% | ||
Yes, most code is reviewed | 16% | ||
Yes, some code is reviewed | 27% | ||
No, almost no code is reviewed | 34% | ||
No, never | 8% |
Again usage is pretty low. Now, this I do think is a waste. In my experience reviews really do work, when they are kept at the right balance between the totally informal "just discussing stuff" and the totally formal "you have to sign this before you leave".
Of the 92% that do use code reviews on at least at bit of code now and then, the types of reviews used were:
Formal reviews with formal approvals | 4% | ||
Formal reviews without formal approvals | 17% | ||
Code walk throughs | 48% | ||
Active design reviews | 7% | ||
"Hey, come take a look at this code on my screen" | 72% |
The weight here is one the more informal review types. Not surprising I guess. They are easy and cheap. And they can return a lot of value. Lastly I asked about a personal favorite - something I think is absolutely necessary in order keep code maintainable: "Do you use refactoring?" The responses were:
Yes, I always try to leave the code cleaner than I found it | 26% | ||
Yes, from time to time | 44% | ||
Yes, as separate tasks | 10% | ||
No | 11% | ||
Other | 10% |
Which is a fairly good note to end on :-)