Documentation Tools - seiren2k/FoodieGo GitHub Wiki

Documentation Tools Selection

1. Doxygen

Usage

  • Supports various programming languages (e.g., PHP, C++, Python, Java, and more).
  • Widely used to generate documentation directly from annotated source code which can create comprehensive and user-friendly documentation by scanning the comments and structured documentation blocks within the code.
  • Can produce output in several formats like:
    • HTML: Ideal for web-based documentation.
    • LaTeX: Produces high-quality print documentation.
    • PDF: For portable document sharing.

Advantages

  • Supports multiple programming languages.
  • Generates API documentation from the source code, along with detailed descriptions, cross-referencing and structured outputs.
  • Can be integrated with version control system like Git which makes easier to track to changes in the documentation along with the codebase.
  • A good choice for handling complex or large projects.

Disadvantages

  • Setting up Doxygen can be challenging for beginners especially when it comes to configuration of the tool. The initial setup often requires a good understanding of the tool which might be time consuming.
  • The documentation output might not be visually pleasing which will require additional customization through CSS or templates to make the documentation look more modern and user-friendly.

Decision for Choosing Documentation Tool

We have decided to use Doxygen due to its simpler set up and native support for PHP, which makes it easier to extract comments from PHP source code and generate detailed API documentation without relying on additional plugins extension.