Jako inżynier oprogramowania od 20 lat, pracujący głównie nad kwestiami związanymi z bezpieczeństwem (SF-PD), muszę powiedzieć, że twój szef może nie być osobą, którą chcesz być twoim przykładem. Brak komentarzy jest oznaką samouka-programisty amatora, który nigdy nie nauczył się prawidłowo wykonywać tej pracy, lub niedoświadczonego inżyniera. A może inżynier, który po prostu nie ma czasu - terminy i celowość mogą zrobić okropne rzeczy w twoim kodzie! ;) Jest to zdecydowanie anty-wzorzec dla każdego kompetentnego inżyniera oprogramowania.
Twój szef może być bardzo dobrym programistą, ale wygląda na to, że nie jest dobrym inżynierem oprogramowania. Inżynier wykorzystuje zbiorowe doświadczenie grupowe, aby uniknąć pułapek, którymi inni ludzie już zostali złapani. Skuteczne komentowanie jest częścią tego doświadczenia grupowego oprogramowania, podobnie jak analiza naprężeń jest częścią doświadczenia grupowego inżynierii mechanicznej. To, co liczy się jako skuteczne komentowanie, jest jednak bardziej płynne i zdecydowanie jest to coś, co można uzyskać z doświadczenia.
Najbardziej podstawową rzeczą jest to, że komentarze nie powinny mówić o tym, co robi wiersz kodu. Są chwile, kiedy komentarze do powiedzenia, co robi funkcja, są zbyteczne (szczególnie w języku C #). Nadmierne komentowanie może być tak samo nieskuteczne (i wskaźnik do braku doświadczenia), ponieważ nie możesz znaleźć ważnych rzeczy w żużlu. Jako nowicjusz, być może nadal pracujesz nad ustaleniem „co” w kodzie, a do tego musisz po prostu przeczytać i zrozumieć, co zrobił.
Ważną rzeczą w komentarzach jest to, że mówią DLACZEGO wiersz kodu lub funkcja robi to, co robi, co może nie być oczywiste. Czy musisz skonfigurować moduł X przed modułem Y? Czy ważne jest, aby sprawdzić kod powrotu, aby zobaczyć, czy plik był już otwarty, czy też świadomie ignorujemy kod powrotu, ponieważ został on sprawdzony w innym miejscu? „Dlaczego” kodu będzie istotne dla wszystkich, bez względu na doświadczenie - i będzie miało również znaczenie dla niego za 6 miesięcy, kiedy zapomni o dobrym powodzie, aby zrobić coś w określony sposób. Komentowanie jest nie tylko dla innych ludzi, ale również dla ciebie w przyszłości.
Jeśli chcesz uniknąć irytowania swojego szefa, zadawaj sprytne pytania. Skoncentruj się na pytaniu o „dlaczego” i spróbuj sam wyliczyć „co” (chyba że jest to naprawdę niejasne). Żaden dobry szef nie będzie miał nic przeciwko zadawaniu pytań, jeśli nie są to rzeczy, które można znaleźć w R-ing TFM. I żaden dobry inżynier nie będzie miał nic przeciwko poproszeniu o zrobienie czegoś, co znacznie ułatwi życie innemu inżynierowi, przy niewielkim koszcie. (Po prostu nie proś go o wypełnianie komentarzy dotyczących całej bazy kodu!)