Saya berdebat dengan kolega saya tentang kapan harus melakukan tinjauan kode - sebelum atau setelah pengujian unit. Apa praktik terbaik?
Beberapa faktor yang perlu kita perhitungkan (mungkin ada lebih banyak):
- Ukuran perubahan kode - perubahan besar berarti lebih banyak perubahan akan dihasilkan dari tinjauan kode. Jika perubahan ini lebih besar dari, jika UT sebelum ulasan kode, Anda harus mengulang sebagian besar UT Anda lagi.
- Waktu yang dibutuhkan untuk melakukan tes unit
- Apakah ini fungsionalitas baru atau perbaikan bug
Jawaban:
Anda harus selalu menguji unit sebelum melakukan peninjauan kode dan inilah alasannya
Mungkin ada alasan lain, tetapi itulah yang saya lihat dan alami sendiri setelah menerapkan praktik tinjauan kode dalam 3 tim / perusahaan yang berbeda.
Sunting Tentu saja hal di atas adalah saat-saat ketika peninjauan kode merupakan langkah dalam proses pengembangan perangkat lunak Anda (baik air terjun atau gesit). Jika Anda sedang mengerjakan bagian kode yang sangat besar atau sulit, jangan ragu untuk melihatnya lagi kapan saja.
sumber
Ulasan Kode adalah untuk saat kode "selesai".
Di organisasi saya, definisi "selesai" kami meliputi pengujian unit (karena kami bertujuan untuk TDD) sehingga ulasan kode adalah kode lengkap - dan kode lengkap termasuk tes.
Selain itu, pengujian perlu ditinjau dan direfraktasi sehingga masuk akal bahwa itu adalah bagian dari tinjauan kode.
sumber
Tes harus dianggap sebagai bagian dari kode yang akan ditinjau. Karena itu masuk akal untuk meninjau kembali setelah tes dilakukan.
Pastikan tes ditinjau juga. Ini sangat penting bagi mereka yang baru dalam unit test.
Pastikan tim Anda mendapat injeksi ketergantungan, kerangka isolasi, ejekan vs bertopik, jahitan, tes berbasis interaksi vs kondisi, dan tes integrasi vs unit.
Anda tidak perlu menerapkan topik yang disebutkan di atas, tetapi Anda harus memahaminya.
sumber
Baik,
Ini tergantung pada apa yang Anda maksud dengan "Unit Test" ...
DAN
Tapi bagaimanapun juga, untuk codereview, setelah atau nanti unit test bukanlah kriteria nyata bagi saya ...
Mengapa kami melakukan codereview? Untuk kualitas kode ... Alih-alih gerbang "kontrol kualitas", masukkan kualitas ke dalam proses pengembangan perangkat lunak Anda ...
sumber
Saya cenderung mengatakan, mari kita menjadi "gesit" ... jangan menunggu kode selesai untuk melakukan tinjauan kode yang cepat dan tidak resmi: ada pengembang dengan siapa dan subjek yang dapat Anda tunggu untuk keseluruhannya kode + fase uji yang harus diselesaikan ... tetapi
ketika datang ke subjek yang benar-benar baru (seluruh fitur baru, penelitian dekat, sesuatu yang sama sekali baru bagi tim), pengkodean kode awal, jangan kehilangan waktu: minta rekan kerja melihat dari waktu ke waktu: isolasi adalah faktor penting kegagalan dalam kasus ini.
jika pengembang baru dalam tim, tinjau kode awal dan mungkin sering .
dan omong-omong, unit test juga perlu ditinjau kode.
sumber