Saya tidak akan menyebut diri saya seorang superstar dev, tetapi yang relatif berpengalaman. Saya mencoba untuk menjaga kualitas kode ke level yang tinggi, dan saya selalu mencari untuk membuat perbaikan pada gaya pengkodean saya, mencoba untuk membuat kode efisien, mudah dibaca dan konsisten serta mendorong tim untuk mengikuti pola & metodologi untuk memastikan konsistensi. Saya juga mengerti perlunya keseimbangan antara kualitas dan kecepatan.
Untuk mencapai ini, saya telah memperkenalkan konsep peer review kepada tim saya. Dua acungan jempol di github pull-request untuk penggabungan. Hebat - tapi tidak menurut saya tanpa cegukan.
Saya sering melihat komentar ulasan sejawat dari kolega yang sama seperti -
- Akan lebih baik untuk menambahkan spasi setelahnya
<INSERT SOMETHING HERE>
- Garis tambahan yang tidak diinginkan antara metode
- Pemberhentian penuh harus digunakan pada akhir komentar di docblock.
Sekarang dari sudut pandang saya - peninjau secara dangkal melihat kode estetika - dan tidak benar-benar melakukan tinjauan kode. Ulasan kode kosmetik dianggap oleh saya sebagai mentalitas arogan / elitis. Itu tidak memiliki substansi, tetapi Anda tidak dapat benar-benar berdebat terlalu banyak karena itu secara teknis resensi benar . Saya lebih suka melihat lebih sedikit dari jenis ulasan di atas, dan lebih banyak ulasan sebagai berikut:
- Anda dapat mengurangi kompleksitas cyclomatic dengan ...
- Keluar lebih awal dan hindari jika / lainnya
- Abstraksi permintaan DB Anda ke repositori
- Logika ini sebenarnya bukan di sini
- Jangan ulangi diri Anda sendiri - abstrak dan gunakan kembali
- Apa yang akan terjadi jika
X
diteruskan sebagai argumen untuk metodeY
? - Di mana unit test untuk ini?
Saya menemukan bahwa selalu ada jenis orang yang sama yang memberikan ulasan kosmetik, dan jenis orang yang sama yang menurut saya memberikan ulasan sejawat "Kualitas & Logika".
Apa (jika ada) adalah pendekatan yang tepat untuk peer review. Dan apakah saya benar karena frustrasi dengan orang yang sama pada dasarnya membaca kode mencari kesalahan ejaan & cacat estetika daripada cacat kode yang sebenarnya?
Jika saya benar - bagaimana saya mendorong kolega untuk benar-benar mencari kesalahan dalam kode dengan menyarankan perbaikan kosmetik?
Jika saya salah - mohon beri tahu saya. Apakah ada aturan praktis untuk apa yang sebenarnya merupakan tinjauan kode yang baik? Apakah saya melewatkan inti dari tinjauan kode apa?
Dari sudut pandang saya - tinjauan kode adalah tentang tanggung jawab bersama atas kode. Saya tidak akan merasa nyaman memberikan acungan jempol ke kode tanpa mengatasi / memeriksa logika, keterbacaan dan fungsionalitas. Saya juga tidak akan repot-repot memblokir penggabungan untuk sepotong kode yang solid jika saya perhatikan seseorang telah menghilangkan berhenti penuh di blok dokumen.
Ketika saya meninjau kode, saya menghabiskan mungkin antara 15-45 menit per 500 Loc. Saya tidak dapat membayangkan ulasan dangkal ini membutuhkan waktu lebih dari 10 menit jika itu adalah kedalaman ulasan yang mereka lakukan. Selanjutnya, berapa nilai acungan jempol dari reviewer dangkal? Tentunya ini berarti bahwa semua ibu jari tidak memiliki bobot yang sama dan mungkin perlu proses review 2-pass. Satu jempol untuk ulasan mendalam dan jempol ke-2 untuk "pemolesan"?