At Lullabot, while working for a client's project, we assign resolved tickets to other bots for peer review. This process has turned out to be very effective in helping knowledge share, improving our coding standards and doing general QA (note: this does not exclude an external QA test).
Most of the backend and frontend developers at Lullabot have good knowledge of all sort of best practices, whether it is from Drupal.org, JQuery, Compass, AngularJS or any technology that we use. Whenever we need to solve a problem we think what is the standard and most effective way of solving this?.
When a project has been developed following coding standards and relying in third party code as much as possible, it is much more probable that new people joining the project will understand its APIs and be able to start coding without extra help, which minimizes the time someone spends on reading the quirks and custom logic that a project has. Similarly, if other company retakes the project later on, the same rule applies: they will know where the logic is; their assumptions will most probably be correct and they won't have to spend much time evaluating the overall complexity of the site.
How can I learn Drupal's Coding Standards?
All of these docs are at Drupal.org. Here are links to them:
- Make sure you know the Drupal Coding Standards.
- If you write custom JavaScript in a Drupal project, there are also JavaScript standards.
- For documenting your code, there are Doxygen documentation standards.
There are also guides available for each role within a team:
- Theming guide.
- Developer guide.
- The Examples module is a great source of best practices too.
How can I learn all the above?
The amount of information at the above links may be overwhelming. The best way to learn them is to get involved in the Community. Depending on your skills there are different ways to start. The more you participate in contributed modules and core, the more you will understand how Drupal works and the more you will learn from the great and friendly minds which are behind it and which will review your code and give you tips to improve it. Take it as a hobby, a place where you learn for free and are also helping to improve a tool you use.
Looking forward for seeing you in the issue queues!