Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [soc-dev] GSoC 2013, Code Recommenders for Javadoc


I think that such a generated Javadoc would be extremely valuable for developers to quickly see what patterns exist and how people should use an API - it probably works better for api learners than code completion because one gets an overview of what may be relevant to look at on a per package and per class basis very quickly. 
The feedback component could emerge to a valuable tool for framework developers when users start asking questions to API comments or attach snippets and stacktraces to it. The second component may also be of interest (and could be used) for other projects not using code recommenders.

I just noticed that the Scala team has a similar project idea for this year [1] ("Alternative / social Scala documentation") and I'd really love to see this feature being implemented at Eclipse and for Java. 



On Apr 11, 2013, at 10:58 AM, Patrick Gottschaemmer <mail@xxxxxxxxxxxxxxxxx> wrote:

> 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*?'
> * 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
> 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]
> [2]
> _______________________________________________
> soc-dev mailing list
> soc-dev@xxxxxxxxxxx

Eclipse Code Recommenders:

Back to the top