Dapatkah tinjauan kode dilewati jika Anda memiliki unit test?
Tapi kenapa?
Peran utama peer review bukan untuk menangkap bug.
Ya, Anda dapat mengidentifikasi beberapa bug potensial dan kode rawan bug yang meragukan, ini sering terjadi, tetapi terkadang menemukan beberapa kesalahan tidak berarti bahwa peer review adalah cara yang dapat diandalkan untuk mengesampingkan keberadaan bug. Jauh dari itu. Ini bukan alat yang tepat untuk memverifikasi kebenaran fungsional implementasi.
Tinjauan kode memberlakukan pemeliharaan kode . Saya akan menuntut kode itu bersih dan dapat dimengerti (tidak hanya untuk pembuatnya) sebelum mulai diproduksi.
Kehadiran unit test sepenuhnya ortogonal untuk itu. Anda dapat memiliki cakupan kode 100% dan semua tes lulus untuk kode yang benar-benar tidak dapat dipahami.
Peninjauan kode juga berfungsi untuk membiasakan pengembang lain dengan pekerjaan Anda sehingga mereka tahu apa itu dan dapat mengambilnya dari sana, atau menangani laporan bug saat Anda sedang berlibur dll. Mengetahui apa yang telah Anda lakukan dengan segera dapat membantu mereka lakukan pekerjaan mereka dengan baik - pertahankan basis kode konsisten (tetap berpegang pada pola dan konvensi serupa di seluruh aplikasi), atau menghindari duplikasi kode.
Dalam skema yang lebih luas, seseorang juga belajar dan tumbuh sebagai pengembang dari membaca kode orang lain.
Tes unit hampir tidak bisa menjadi pengganti untuk semua itu. Ya, jika ditulis dengan baik, mereka membaca seperti dokumentasi, dan kita harus berusaha untuk ini. Tapi sekali lagi ini tidak eksklusif dengan melakukan peer review, justru sebaliknya - semua keuntungan dari peer review masih berlaku, fakta bahwa rekan-rekan Anda memiliki beberapa unit test yang bagus untuk dilihat hanya akan membuat proses peninjauan lebih mudah dan bahkan lebih menguntungkan bukannya berlebihan.