Java Source Code Browser
The Java Source Code Browser reads a designated set of Java source files and produces a JavaDoc equivalent extended with fully browsable source code containing hyperlinked cross-references within and across that set of files. Every identifier in the source code (public or local) acts as a link to its corresponding source definition, all uses of that identifier anywhere in the source files, and the corresponding JavaDoc information. This provides a convenient method for programmers to view the entire source of large application systems; this can help cut down the 50% of the time that programmers typically spend just looking at source code. It is also ideal for on line reference and code reviews.
Java Browser Features
- JavaDoc tag compatible
- Java 1.4 and Java 1.5 compatible; Java 1.6 release imminent
- Produces JavaDoc equivalent web pages
- Extracts full cross-reference and type information from both source and class files
- JavaDoc page for each identifier links to actual source code and all uses according to language rules.
- Source files are prettyprinted with clickable identifier links to definition source and corresponding JavaDoc page.
- Can handle extremely large systems of source code
- Optional specification of files via graphical project file chooser
Sun's JavaDoc has a -linksource option that provides a much weaker cross reference. Unlike the Source Browser, it only provides links from JavaDoc pages to source text, but no source-to-documentation links, and no full-cross reference of definitions and uses.
You can see a sample of the Browser results applied to the popular JUnit program. To get a full value from this sample, in the Packages window, click on any Junit package, click on any class and then browse its source, clicking on identifiers: Browsable JUnit Sources.
Generating a set of pages like this nightly and placing it on your intranet would make current sources easily available to developers and support engineers. You can also download a ZIP file (500Kb) containing the HTML pages for this example to try out this idea.
The Source Code Browser is a derivative of SD's family of Source Code Formatters. Autoextraction of JavaDoc-like tags can also be implemented (e.g., automatically generate function signature and parameter tags if not already present). Similar browsers can be constructed for other languages. Inquire for custom features.