I would like to ask my question based on in this question about tests.
There are different ways to document software, the ones I noticed most are:
- Class documentation (the developer comments on the purpose and / or task of that class)
- Method documentation (the developer comments on the purpose, actions and / or tasks that that method performs)
- Documentation inside the code (the developer comments on what happens in a particular line of code)
- Documentation generated in an automated way from Javadocs , for example.
So based on some questions from the link I mentioned above:
- What would be a good way to document the software?
- Is it interesting to place documentation in the code? Is it useful only for inexperienced developers early in their careers or also for experienced developers who already have mastery in the language? I ask this because I've heard that they do not need documentation because reading the code you already know what action that piece of code does. But from what I observe the system architecture has its influence, the way the developer developed it, I can cite example the concept of MVC, Dependency Injection that have their architectures, so the developer could create a different architecture for a pattern of project within the application.
- Are there criteria for this?
- As a basis for the best response from the question I mentioned about tests, inside of the systems documentation are there descriptions, such as Integration Test , Unit Test , Canary Release that were mentioned in the answer? But in this question I created referring to the documentation.