At my current job we're pretty strict about code quality and coding standards. All new hires go through a 'brainwashing' period in which time senior developers coach them to write (hopefully) better code.
The code review process is meticulous and it normally halves the productivity of the developers doing the review. And sometimes the 'brainwashing' period drags on for 2 or 3 months. Sometimes corrections are subtle (e.g. structuring an IF statement so that it short circuits as early as possible) and sometimes you can't help but to raise an eyebrow (e.g. declare a string and set it to String.Empty and on the very next line assign it another value).
I'm looking for suggestions to reduce the time and effort to get new hires assimilated to coding standards of the team.
What are others doing in similar circumstances? What processes or tools are you guys using? Is there a way to automate this? I've considered FxCop but haven't actually tried it and don't know if it would really help reduce time and effort or if it is even the right tool? For logistical reasons we can't do pair programming if that was a suggestion. And I would be dubious about it reducing the effort.
We have tried maintaining an in-house wiki of 'corrections' but that is failing dismally. Lack of enforcement and also because it's easier to 'have someone correct your mistakes' rather then 'read up and try and prevent the mistakes'.
Also, how are you guys drilling it into new hires that code quality is important? And do you guys weed out those who are lackadaisical towards quality at the interview or do you try to change them after they're hired?
Many thanks.
EDIT: Thanks for all the answers. Not sure if there is a correct answer for this question but I'm going to mark as correct the one that I'll definitely be trying out.