[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[soc-dev] GSoC 2013, Code Recommenders for Javadoc
|
Hi,
I'm a student at the Darmstadt University of Technology and a Eclipse
contributor for the Code Recommenders project and I'd like to
participate in GSoC 2013.
After a brief talk with Marcel Bruch, we came up with the idea of
extending the Javadoc Tool [1] with some elements from Code Recommenders
including a social component.
For instance, we'd like to include some of Code Recommenders' statistics
like
* when selecting a package: 'What are the most frequently overwritten
(used) classes in package org.eclipse.xyz*?'
* when selecting a type: Which methods of type X frequently used by clients?
* when selecting a method: which methods are frequently called together
with m()?
* when selecting a type: A field of this type has been frequently
annotated with @Inject or @Named (as of interest for e4 developers for
instance)
and similar documentations.
For the generation part, I plan to extend the Javadoc Tool framework by
one or more 'Doclets' (see [1]) that allow different extdoc providers
(based on the extdoc providers of Code Recommenders) to contribute
directly to the generated HTML output via the Javadoc api.
In contrast to the normal way how the javadoc command is used, I'd like
to develop a little helper utility that fetches and unzips the sources
directly from a maven repository, runs the normal javadoc tool and adds
the recommenders documentation to the standard javadoc output, and
finally uploads the updated javadocs to the repository or deploys them
on a website.
In addition (when there is still some time :-) ), I'd like to enable
users to directly edit, comment or rate on API documentation and new
code snippets, which are provided by the Snipmatch subproject of Code
Recommenders. Alternatively, these code snippets could also be posted
directly by developers through the webinterface or even via a REST API
(so you could implement an additional IDE plugin for this afterwards).
The code snippets shall be grouped by java classes and/or packages,
which then can be tagged, commented and rated by other developers. Top
rated code snippets ('favorites') will appear at the top of the list,
similar to stackoverflow.com.
For this, an additional backend (a RESTful api) will be needed, which
stores and organizes the code snippets, including tags and comments by
users.
The snippets shall be inserted dynamically in the (so far static
generated) Javadoc website. For the server-side part I'm thinking of
using OData [2] protocol backed up by a sql database like mysql.
I'm very interested in the idea of having a dynamic social component in
the generated Javadoc website and looking forward to implement it.
Best regards,
Patrick Gottschaemmer
[1]http://docs.oracle.com/javase/7/docs/technotes/guides/javadoc/
[2]http://www.odata.org/