We have a good chunk of technical debt in NH and while we are working on catching it up, we need to improve and harmonize code quality of core libs used in NH.
We should decouple actual pack dev from the development of tools to improve pack dev. As such, this thread is here mainly to debate on what we should do while we want to do big refactors or develop new tools. This does not concern the regular pack dev as for that, the usual quality checks such as PR reviews are enough in my opinion. The benefits of having such things for core components of NH is that for those less familiar with good coding practices, being constantly exposed to them will slowly improve the average code quality of the rest of the NH codebase.
I am in no way a professional dev so i don't know the good practices in this field, but from my experience as a network & telecom engineer, we need 2 things:
- a thing explaining the historical big changes on the project
- a place to explain how things work precisely to convey the intentions behind the architecture of the code, so users will be able to figure out how to properly use what has been developped.
Apparently javadoc is what is the easiest to work with, but you guys are entirely free to design whatever you think could achieve that two points I listed above.
)
to give more detail on my experience: