極端なプログラミングプロジェクトでは、プログラマはほとんどの場合ペアプログラミングを行います。
これらのペアも回転するため、つまり、プログラムをさまざまな人とペアにし、集団所有権の感覚があるため、ソースコードは頻繁にレビューおよび更新されています。
そうであれば、コードレビューが必要ですか?つまり、プログラミングを停止し、実際にコードレビューを行うだけです。
極端なプログラミングプロジェクトでは、プログラマはほとんどの場合ペアプログラミングを行います。
これらのペアも回転するため、つまり、プログラムをさまざまな人とペアにし、集団所有権の感覚があるため、ソースコードは頻繁にレビューおよび更新されています。
そうであれば、コードレビューが必要ですか?つまり、プログラミングを停止し、実際にコードレビューを行うだけです。
回答:
Extreme Programmingの重要なリソースの1つは、WardのWikiであるPortland Pattern RepositoryであるC2.comです。これは、多くの人々がさまざまな方法論をハッシュし、それらを使用したときにそれらを文書化した場所です。
このwiki内には、Ron JeffriesやKent Beckを含む多くの貢献者がいるExtreme Programming Code Reviewsというページがあります。
これに、彼らは言った:
多くの大規模なプロセスの達人は、コードレビューを重要視しています。それらは、標準への準拠を保証することを目的とし、さらに重要なことは、コードが明確で効率的で、機能し、QWANを持っていることを保証することを目的としています。彼らはまた、コードに関する知識をチームの他のメンバーに広める手助けをすることも意図していました。
ExtremeProgrammingでは、すべての開発が2人のエンジニアが一緒に行う必要があります。コードは実際にその場でかなりの程度までレビューされます。これにより、複数の人が常にコードを熟知していることが保証されます。
ExtremeProgrammingでは、すべてのオブジェクトにUnitTestsが必要です。これらは、オブジェクトが機能することを保証し、変更されたまま機能し続けます。
一部の言語は反射的です。このような言語では、UnitTestsは重要な標準への準拠を直接確認できます。(たとえば、オブジェクトは#=と#hashの両方を実装するか、どちらも実装しない必要があります。)
ExtremeProgrammingはCollectiveCodeOwnershipを実践します。これは、注意が必要なオブジェクトが多くの開発者によって閲覧されることを意味します。これは、標準に準拠していないコードを生成するコードに圧力をかける傾向があります。訪問する開発者は、逸脱を発見した場合にコードを適合させることが推奨されます。これにより、コードを作成したプログラマーの最初のペアを超えて、コードの知識が広められます。
したがって、ExtremeProgrammingプロジェクトは明示的なレビューを必要としません。方法論からそれらを削除します。
また、他の人からのトピックに関するかなり多くの議論があります。
ただし、重要な点は、テスト、共同所有権、およびペアプログラミングを組み合わせることで、コードレビューで通常行われるべき次のような目標を解決できることです。
これらは、エクストリームプログラミングのペアプログラミングと自動テストを通じて継続的に行われているため、明示的なファガン検査は不要です。
関連資料: