しばらくの間、いくつかの有用な回答がここに投稿されていますが、もう1つ余地があると思います。私の提案は、他の人が言ったように、コードレビューを行うことです。しかし、「コードレビュー」という用語はあいまいなので、もう一度言及する価値があります...「クリーンなコード」と同じくらいあいまいです:-)。私はそのとらえどころのない目標に向けて取り組むことに多くの時間と努力を費やしてきました。特に過去2年間、私の情熱を共有してくれた同僚に支えられて、著名な開発者からの重要なアイデアを取り入れた概念を、Zen of Code Reviewsというシリーズにまとめました。
私の記事は、私の知る限り、その中で私がカバーし、ユニークで両方の通路の両側に:として、コードレビューをしている著者としてコードレビューをして審査。関連していますが、それぞれのスキルは多少異なります。そして、両方をよく行うことができることはします、より良いコードの品質につながります。コードをレビューすることは、コードを書くことと同じくらい重要です。本当に。それは知識の伝達を促進し、チームの一貫性とコミュニケーションを促進し、あなたの技術を改善するのに役立ちます、そして最後に、重要なことに、それはバグのあるソフトウェアを非常にコスト効率よく、可能な限り最初から減らします。
最初の2つは、コードレビューを準備するためのヒントとテクニックを提供します。手短に:
- 作成者は、変更された各行がコードレビューに含まれている理由をよく理解しています。多くは教育を受けたレビュアーには明らかですが、多くはそうではありません。レビュー担当者に送信する前に、コードレビューに注釈を付けることでそれらのポイントを伝えます。
- その前でも、コードレビューの構成要素を慎重に検討してください。1つの問題に関連するすべての変更を含め、複数の問題を含めないようにしてください。
- 送信する前に、必ずソース管理チェックアウト(コードをmainと再同期するため)を行ってください。
- コードを送信する前に、コードを1行ずつ確認してください。
パート1:事前レビューコメント:コードレビューに関するフィードバックを改善するために同僚に力を与える
パート2:ベストプラクティス:コードレビューを準備するためのガイドライン
そして、他の2つの記事は、より良いレビュアーになる方法についての実用的なアドバイスを提供します。
- 最初にJira / issue / ticket / requirement(あなたがそれを何と呼ぶにせよ)を読んでください。
- 単体テストが要件をカバーしていることを確認します。
- 同等性クラスと境界値の完全性についてユニットテストを確認します。
- 各単体テストが十分に機能することを確認します。複数のテストは行いません。
- SOLID原則の順守についてコードを確認します。
- 車輪の再発明、過度に複雑なコード、そして単に複雑なコードに注意してください。
- Eschewマジック(マジックストリング、マジック整数、そしてもちろん、マジックブール)。
- 蝶の効果をキャッチします。見落とされた波紋があります(たとえば、名前の不一致)。
パート3:レビューアの物語:コードレビューを実行するためのガイドライン
パート4:コードを所有しているかのように確認する