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 del programador" en cada archivo de código fuente.
La idea detrás de esto es explicar en términos sencillos cómo funciona una clase específica (y no solo por qué como lo hace la mayoría de los comentarios). En otras palabras, para ofrecer a los 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 gran proyecto sea más fácil para los nuevos programadores / colaboradores para comprender cómo funciona? Además de mantener un estilo de codificación coherente y una organización de directorios "estándar", ¿existen "estándares" o recomendaciones para estos casos?