Banyak jawaban bagus di sini. Beberapa hal yang ingin saya tambahkan:
Ketika Anda harus menjelaskan kode kepada orang lain, sering kali dalam penjelasannya pengembang tiba-tiba menyadari bahwa ia memiliki bug. Saya telah melihat itu terjadi berulang-ulang bahwa dev berhenti mati di jalurnya dan berkata "oh tunggu itu salah" sebelum pengulas telah memahami hal itu dengan cukup baik untuk melihat bug.
Mengetahui kode Anda akan diperiksa oleh orang lain memberi Anda lebih banyak insentif untuk menggunakan standar pengkodean (membuat pemeliharaan lebih mudah) atau menggunakan lebih sedikit metode "koboi" yang tidak akan dipahami oleh siapa pun selain diri Anda sendiri (dan kadang-kadang bahkan bukan diri Anda sendiri). Anda tidak ingin malu ketika Anda menunjukkan kode Anda kepada orang lain, jadi Anda melakukan pekerjaan yang lebih baik di atasnya. Karena faktor yang memalukan, semakin sedikit kode yang dikomentari dengan: "Saya tidak tahu mengapa ini berhasil tetapi jangan mengacaukannya." di basis kode.
Pengembang yang memiliki kebutuhan untuk pengawasan atau pelatihan yang lebih luas mudah diidentifikasi. Begitu juga yang tidak kompeten langsung. Semakin cepat Anda dapat menemukan dan mengatasi masalah kinerja, semakin baik tim secara keseluruhan dan semakin tinggi kualitas aplikasi. Adalah baik untuk mengetahui informasi ini sebelum Anda mengambil orang baru yang membutuhkan pelatihan dan menugaskannya ke bagian paling sulit, paling kritis dari aplikasi Anda.
Kadang-kadang itu hanya masalah memperbaiki kesalahan persepsi yang akan menyelamatkan membuat kesalahan yang sama di banyak tempat lain. Sebagai contoh, kami baru-baru ini meninjau beberapa SQL untuk laporan kompleks dan menemukan bahwa beberapa pengembang baru kami memiliki kesalahpahaman yang sama tentang di mana menemukan sepotong informasi tertentu dalam database (memang tempat yang mereka pilih tampak logis yang merupakan masalah desain database kami. juga perlu diperbaiki) yang sangat penting untuk menulis semua laporan dengan benar. Dengan menemukan masalah dan memperbaikinya dalam laporan pertama yang mereka tulis, itu menyimpan kesalahan yang sama dari yang terjadi di sisa laporan. Dan sesuatu yang lebih tua (pada waktu bekerja di sini bukan usia) devs begitu terbiasa sehingga mereka tidak berpikir perlu menjelaskan keluar.
Junior dapat belajar dari kode yang lebih canggih yang ditulis oleh manula (yang cenderung lebih memahami kasus trapping dan edge misalnya) dan manula dapat belajar dari teknik baru yang digunakan oleh junior bahwa mereka belum terekspos.
Kadang-kadang orang yang mengerjakan bagian aplikasi yang berbeda tetapi terkait menyadari bahwa mereka akan pergi dalam dua arah yang berbeda dan saling eksklusif. Ups, lebih mudah diperbaiki sekarang.
Tidak mudah untuk menyelinap dalam nilai-nilai hard-coded yang akan berubah seiring waktu hanya untuk membuat hal itu berfungsi sekarang. Ini mencegah banyak bug di masa depan seperti hal-hal yang berubah pada awal setiap tahun fiskal.
Saya kadang-kadang terjebak pada bagaimana melakukan sesuatu dan belajar teknik baru yang persis seperti yang saya inginkan dari meninjau kode barang orang lain.
Jika Anda terbiasa dengan cara berpikir anggota tim Anda yang lain (peninjauan kode mana yang akan membantu memberi Anda pemahaman itu), maka akan lebih mudah untuk memecahkan masalah nanti karena Anda akan mulai dengan pemahaman tentang bagaimana Joe akan mendekati pendekatan semacam itu. masalah.