Załóżmy, że rozwijam stosunkowo duży projekt. Udokumentowałem już wszystkie moje klasy i funkcje w Doxygen, jednak wpadłem na pomysł, aby umieścić „uwagi programisty” na każdym pliku kodu źródłowego.
Ideą tego jest wyjaśnienie laikom, jak działa określona klasa (i nie tylko dlaczego, jak większość komentarzy). Innymi słowy, aby dać innym programistom inne spojrzenie na działanie klasy.
Na przykład:
/*
* 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.
*/
Czy byłby to dobry sposób na ułatwienie nowym programistom / współpracownikom zrozumienia, jak to działa? Czy oprócz utrzymywania spójnego stylu kodowania i „standardowej” organizacji katalogów istnieją jakieś „standardy” lub zalecenia dotyczące tych przypadków?