Developer documentation is listed on this
page. You can find the global architecture of the modules and the main useful interfaces to make plugins.
The naming of the different elements (class, method...) should be sufficient in many cases. However, there is documentation in the source code (javadoc) for some APIs and in the most complex implementations. From a developer's point of view, some things are probably missing. However, the effort to maintain complete documentation over time is substantial, we don't have the resources to do so.