In our world of Drupal design and development or any other package for that matter it is seldom that we get things right the first time. In fact, most of our time is spent in isolating, patching, refining, and re-evaluating code or design that we theretofore had believed was perfectly fine. This has led to the creation of a plethora of developmental aids and tools to streamline these processes and save us a heap of time and effort better spent elsewhere. These include documentation, browser-based tools, as well as Drupal modules that assist in development and debugging.
First and foremost is documentation. Drupal's documentation is largely centered around its handbook which can be accessed via http://drupal.org/handbook. Besides this, documentation for the various Drupal APIs is located at http://api.drupal.org. These sites include information contributed by community members as well as extracts from the comments in the code files.
Drupal-specific development and debugging tools...