Module development and maintenance in Drupal

There are two useful ways to extend or change Drupal. This is through the module and theme systems. A module is code which implements capabilities while a theme changes how the site looks.

Module developer's guide

Theme Developers' Guide

Drupal Coding Standards, Developing for Drupal

Coder (code review) is a module that does an excellent scan for code quality problems. It incorporates hints from the development guidelines and instructions for migrating modules from one release to another. It gives you a list of specific issues to address. It is like 'lint' and other kinds of static analysis tools.

Devel offers many useful doodads that help developers do their job.