私は長年にわたって開発チームを率い、管理してきました。本質的に、私はコードと非常に白黒の点で少しOCDです。経験から、あなたの戦いを選ぶことは、チームリーダーとして学ぶのが最も難しいスキルの1つであることを学びました。はい、標準は重要です。はい、読みやすさと保守性は非常に重要です。はい、私たちは皆、統一された標準に準拠したコードを書くよう努力すべきです。ただし、開発者は人間です...コード生成ツールではありません。私たちには個性や意見があり、退屈していて、新しいことを学びたいと思っています。
作業中のコードレビューでは、コードベースの全体的な品質や保守性を必ずしも向上させるわけではありませんが、「賢い」と考えるコードとパターンを見てきました。
OK ...彼らは追加しませんが、彼らは損ねますか?私たちはコーディングスタイルの個人的な好みの問題だけを話しているのですか、それともコードは完全に不必要に書かれているのですか(例えば、式ツリーとリフレクションを使用するのが楽しいからといって式ツリーとリフレクションを使用する)?前者の場合は、手放します。開発者であることの楽しみの一部は、問題に対する創造的な解決策を考え出すことです。たぶん(そして私たちのほとんどはこれを認めたくない)、私たちは理解していないアプローチに怖がって感じることがあり、尋ねたくないか、新しいアプローチを学ぶための追加のエネルギーを持っていません。
今、創造性が不必要なコードと完全に不当な複雑さをもたらすとき、すべての手段で声を出して主張します。チームプレーヤーになることは重要ですが、その責任(および他者を保持すること)も重要です。コードレビューは、品質保証と学習と同様に説明責任についてのものです。あなたはつま先を踏むつもりですが、なぜ努力(お金)が作業コードの書き換えに費やされるべきであり、プロセスで自我が傷つけられるべきであり、あなたが彼らの技術に対する誰かの熱意をつぶす危険性があるという強い議論があると感じる場合、テーブルの上に置くことを恥ずかしがらないでください。あなたがチームリーダーなら、これがあなたの仕事です。影響に注意し、実行してください。あなたがチームリーダーではなく、権限を持っていない場合は、チームに任せて決定してください。
チームに説明責任を浸透させるための最良の方法は、他の人に説明責任を持たせることです。心を開いたままにして、コードの改善を提案したときに人々を締め出さないでください。彼らはあなたの提案を受け入れてくれるかもしれません。