Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Book: SE@Google Ch 10: Documentation #21

Open
gerhean opened this issue Feb 2, 2022 · 0 comments
Open

Book: SE@Google Ch 10: Documentation #21

gerhean opened this issue Feb 2, 2022 · 0 comments

Comments

@gerhean
Copy link
Contributor

gerhean commented Feb 2, 2022

Book: Software Engineering at Google
Chapter: 10- Documentation

Summary:

  • Documentation is most successful when treated like code and incorporated into the traditional engineering workflow, and kept easy and simple.

    • This can be done by having internal policies or rules to be followed, placing it under source control, clearly establishing the owner of each piece of documentation, making it change with the code it documents, and undergo reviews and periodic evaluation.
  • Documentation benefits the writer in the following ways:

    • It helps formulate an API. If it is hard to explain or define an API, it is probably not designed well enough.
    • It provides a road map for maintenance and a historical record. It helps the writer fix bugs in code they wrote some time ago.
    • It makes code look more professional and drive traffic. Other developers are more likely to use well documented code.
    • It will prompt fewer questions from other users. Less time wasted by writer to explain things.
  • While documentation should be optimized for readers, one needs to be aware there are different types of readers which one might need to cater to, and write each documentation as broadly as possible.

    • In order to cater to the various audiences, it helps to:
      • Keep documentation consistent. This helps experts quickly find what they are looking for.
      • Provide very short overviews that explain the purpose of each section/piece of documentation. This helps novices avoid irrelevant code.
      • Separate user and developer documentations.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant