Questions tagged [documentation]

THIS TAG IS FOR DOCUMENT GENERATORS ONLY. Include language and/or SDE tag as well. DO NOT USE to ask for links to documentation or tools, or to critique vendor documentation.

Use the tag for questions related to self-documenting code and documentation generators.

Basic definitions

  • Software documentation is written text or illustration that accompanies computer software or is embedded in the source code. It either explains how it operates or how to use it, and may mean different things to people in different roles.Wikipedia

  • A documentation generator is a programming tool that generates software documentation intended for programmers or end users, or both, from a set of specially commented source code files, and in some cases, binary files.Wikipedia

Related tags

Possible synonyms:

Substitute these more specific tags for where possible:

"Documentation" topics on other SE sites

Questions about how documentation fits within the software development process are off-topic on StackOverflow, but are on-topic on Software Engineering.

Writing Stack Exchange has tags for Technical Writing, API Documentation and Software Tools, with a focus on the craft of professional writing.

Useful links

Off-Topic Questions

Remember that the following types of questions are off-topic, and subject to being closed and deleted:

  • Where is the documentation for... ?
  • What is the best way to document... ?
  • Is there a tool to help document... ?
  • Is this documentation correct?
4700 questions
75
votes
9 answers

How to document a database

(Note: I realize this is close to How do you document your database structure? , but I don't think it's identical.) I've started work at a place with a database with literally hundreds of tables and views, all with cryptic names with very few…
Paul Tomblin
  • 179,021
  • 58
  • 319
  • 408
74
votes
8 answers

Standard methods for documenting a RESTful API

I'm writing a specification for a RESTful API for a new internal web service. It's not hugely long and fairly simple, but even so, it's my first time using strict REST (as opposed to cheating for practical reasons - avoiding PUT and DELETE because…
Samir Talwar
  • 14,220
  • 3
  • 41
  • 65
74
votes
5 answers

How do I set the language for the Android developer website?

When I attempt to navigate to the Android developer website, I am redirected to a version of it much of which is in Chinese. For instance, if I try to navigate to: developer.android.com I am redirected…
stevehs17
  • 1,466
  • 2
  • 14
  • 19
72
votes
1 answer

Documenting Scala 2.10 macros

I'll start with an example. Here's an equivalent of List.fill for tuples as a macro in Scala 2.10: import scala.language.experimental.macros import scala.reflect.macros.Context object TupleExample { def fill[A](arity: Int)(a: A): Product = macro…
Travis Brown
  • 138,631
  • 12
  • 375
  • 680
71
votes
5 answers

How to write C++ comments that show up in Intellisense?

I'm programming in C++ using Visual Studio 2010 Ultimate. I want to document some functions and I want the documentation to show up in Intellisense. According to MSDN, I just need to put the comment before the declaration or after it on the same…
68
votes
4 answers

How do the Mogenerator parameters work, which can I send via Xcode?

The help for Mogenerator is very minimal. What do all the parameters do?
Senseful
  • 86,719
  • 67
  • 308
  • 465
67
votes
4 answers

Doxygen vs Javadoc

I just realized from an article in CACM that Doxygen works with Java (and several other languages) too. But Java has already the Javadoc tool. Can someone explain what are the pros and cons of either approach? Are they mutually exclusive? Is there a…
lindelof
  • 34,556
  • 31
  • 99
  • 140
67
votes
7 answers

Namespace documentation on a .Net project (Sandcastle)?

I started using Sandcastle some time ago to generate a Documentation Website for one of our projects. It's working quite well but we've always only written documentation for classes, methods, properties (...) in our project and had completely…
Ben
  • 2,365
  • 4
  • 22
  • 29
66
votes
8 answers

Why are methods in Ruby documentation preceded by a hash sign?

When I see any Ruby method printed in text, it usually appears as: Class#method or #method Now, I would use: Class.method Why are all Ruby methods preceded by a pound sign? Is there any reason for it?
Ed S.
  • 122,712
  • 22
  • 185
  • 265
66
votes
2 answers

reference to generic type in XML code comment

As I know, in a XML comment for a C# type/method, it is possible to reference a generic type in a tag like so: /// But I think, there was another syntax, which is less clumsy? Something, to get…
user492238
  • 4,094
  • 1
  • 20
  • 26
66
votes
8 answers

Generate Protobuf documentation?

Does anyone know of a good tool to generate Google Protobuf documentation using the .proto source files?
64
votes
3 answers

Where should project documentation be stored in a typical maven project

Where should should project documentation (requirements, etc.) be stored in a typical maven project. None of the directories listed in Introduction to the Standard Directory Layout page is an obvious candidate.
user63904
64
votes
6 answers

Documenting Node.js projects

I'm currently using JSDoc Toolkit to document my code, but it doesn't quite fit - namely, it seem to struggle with describing namespaces properly. Say you have two simple classes in each their files: lib/database/foo.js: /** @class */ function…
Morten Siebuhr
  • 6,068
  • 4
  • 31
  • 43
64
votes
7 answers

How to automate documentation of a REST API (Jersey Implementation)

I have written a pretty extensive REST API using Java Jersey (and JAXB). I have also written the documentation using a Wiki, but its been a totally manual process, which is very error-prone, especially when we need to make modifications, people tend…
Alan Mc Kernan
  • 763
  • 1
  • 6
  • 7
63
votes
3 answers

How do I document a constructor for a class using Python dataclasses?

I have some existing Python 3.6 code that I'd like to move to Python 3.7 dataclasses. I have __init__ methods with nice docstring documentation, specifying the attributes the constructors take and their types. However, if I change these classes to…
anahata
  • 826
  • 1
  • 7
  • 14