Di pekerjaan saya, kami memiliki aturan yang sangat sederhana: perubahan harus ditinjau oleh setidaknya satu pengembang lain sebelum penggabungan atau komit ke trunk . Dalam kasus kami ini berarti orang lain secara fisik duduk dengan Anda di komputer Anda dan melewati daftar perubahan. Ini bukan sistem yang sempurna, tetapi secara nyata telah meningkatkan kualitas kode.
Jika Anda tahu bahwa kode Anda akan ditinjau yang memaksa Anda untuk memeriksanya terlebih dahulu. Banyak masalah menjadi jelas saat itu. Di bawah sistem kami, Anda harus menjelaskan apa yang Anda lakukan pada pengulas, yang lagi-lagi menyebabkan Anda melihat masalah yang mungkin Anda lewatkan sebelumnya. Juga, jika sesuatu dalam kode Anda tidak segera jelas bagi pengulas, itu indikasi yang baik bahwa nama yang lebih baik, komentar, atau refactoring diperlukan. Dan, tentu saja, pemeriksa mungkin menemukan masalah juga. Selain itu, selain melihat perubahan, peninjau juga dapat melihat masalah dalam kode terdekat.
Ada dua kelemahan utama sistem ini. Ketika perubahan itu sepele, tidak masuk akal untuk memeriksanya. Namun, kita benar-benar harus tetap berpegang pada aturan, untuk menghindari kemiringan licin dari menyatakan perubahan sebagai "sepele" ketika mereka tidak. Di sisi lain, ini bukan cara yang sangat baik untuk meninjau perubahan signifikan pada sistem atau penambahan komponen baru yang besar.
Kami telah mencoba ulasan yang lebih formal sebelumnya, ketika satu pengembang akan mengirim kode email untuk ditinjau ke seluruh tim, dan kemudian seluruh tim akan berkumpul dan membahasnya. Ini menghabiskan banyak waktu setiap orang, dan akibatnya ulasan ini sedikit dan jarang, dan hanya sebagian kecil dari basis kode yang ditinjau. "Satu orang lain mengulas perubahan sebelum melakukan" telah bekerja lebih baik bagi kami.