Supongamos que estoy desarrollando un proyecto relativamente grande. Ya he documentado todas mis clases y funciones con Doxygen, sin embargo, tuve la idea de poner "notas de programador" en cada archivo de código fuente.
La idea detrás de esto es explicar en términos simples cómo funciona una clase específica (y no solo por qué, como lo hacen la mayoría de los comentarios). En otras palabras, darles a otros programadores una visión diferente de cómo funciona una clase.
Por ejemplo:
/*
* PROGRAMMER'S NOTES:
*
* As stated in the documentation, the GamepadManager class
* reads joystick joystick input using SDL and 'parses' SDL events to
* Qt signals.
*
* Most of the code here is about goofing around the joystick mappings.
* We want to avoid having different joystick behaviours between
* operating systems to have a more integrated user experience, since
* we don't want team members to have a bad surprise while
* driving their robots with different laptops.
*
* Unfortunately, we cannot use SDL's GamepadAPI because the robots
* are interested in getting the button/axes numbers, not the "A" or
* "X" button.
*
* To get around this issue, we created a INI file for the most common
* controllers that maps each joystick button/axis to the "standard"
* buttons and axes used by most teams.
*
* We choose to use INI files because we can safely use QSettings
* to read its values and we don't have to worry about having to use
* third-party tools to read other formats.
*/
¿Sería esta una buena manera de hacer que un proyecto grande sea más fácil para que los nuevos programadores / contribuyentes entiendan cómo funciona? Además de mantener un estilo de codificación coherente y una organización de directorio 'estándar', ¿existen 'estándares' o recomendaciones para estos casos?