Предположим, что я разрабатываю относительно большой проект. Я уже задокументировал все свои классы и функции с помощью Doxygen, однако у меня была идея поместить «заметки программиста» в каждый файл исходного кода.
Идея заключается в том, чтобы объяснить в терминах непрофессионала, как работает конкретный класс (и не только почему, как это делает большинство комментариев). Другими словами, чтобы дать коллегам-программистам другой взгляд на то, как работает класс.
Например:
/*
* 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.
*/
Будет ли это хорошим способом облегчить крупный проект новым программистам / участникам, чтобы понять, как он работает? Помимо поддержания согласованного стиля кодирования и «стандартной» организации каталогов, существуют ли «стандарты» или рекомендации для этих случаев?