主に安全関連のもの(SF-PD)に取り組んでいる20年のソフトウェアエンジニアとして、私はあなたの上司があなたがあなたの模範になりたい人ではないかもしれないと言わなければなりません。コメントの欠如は、仕事を適切に行う方法を学んだことのない独学のアマチュアコーダー、または経験の浅いエンジニアの兆候です。あるいは、単に時間がないエンジニア-締め切りと便宜はあなたのコードに恐ろしいことをすることができます!;)しかし、それは間違いなくすべての有能なソフトウェアエンジニアにとってアンチパターンです。
あなたの上司は非常に優秀なコーダーかもしれませんが、彼は優秀なソフトウェアエンジニアではないようです。エンジニアは集合的なグループエクスペリエンスを使用して、他の人が既に見つけた落とし穴を回避します。応力解析が機械工学の集団グループエクスペリエンスの一部であるのと同じように、効果的なコメントはソフトウェアの集団グループエクスペリエンスの一部です。しかし、効果的なコメントとしてカウントされるものはより流動的であり、間違いなく経験から得られるものです。
最も基本的なことは、コメントはコード行が何をするかを言ってはならないということです。関数が何をするのかというコメントも不要な場合があります(特にC#では)。ドロスの中に重要なものが見つからないので、過剰なコメントは同じくらい効果的ではありません(そして経験不足へのポインタ)。初心者として、あなたはまだコードの「何」を理解することに取り組んでいるかもしれません。そのためには、彼が何をしたかを読んで理解する必要があります。
コメントするために重要なことは、しかし、彼らが言うことですWHYコードの行または関数は、それが何を行い、これは明らかではないかもしれないところ。モジュールYの前にモジュールXをセットアップする必要がありますか?ファイルが既に開いているかどうかを確認するためにリターンコードをチェックすることは重要ですか、それとも別の場所でチェックされているために意識的にリターンコードを無視しますか?コードの「理由」は、経験に関係なくすべての人に関係します-そして、何か特定の方法を行う正当な理由を忘れた6か月後にも彼に関係します。コメントは他の人だけのものではなく、将来あなたを助けるためのものでもあります。
上司に迷惑をかけたくない場合は、スマートな質問をしてください。「なぜ」について尋ねることに焦点を合わせ、「何」を自分で解決しようとします(それが本当にあいまいでない限り)。良い上司は、R-ing TFMで見つけることができなかった種類の質問ではないかと尋ねられます。また、優れたエンジニアは、他のエンジニアの生活を大幅に楽にし、わずかなコストで何かをするように求められることを気にしません。(コードベース全体にコメントを埋めるように頼まないでください!;)