Pertama saya sangat percaya pada proses peninjauan kode dan selalu ingin orang lain meninjau kode saya. Pertanyaan saya benar-benar terpusat pada bagaimana saya bisa melakukan pekerjaan yang lebih baik dalam melakukan tinjauan kode untuk orang lain?
Saya tahu bahwa untuk melakukan tinjauan kode, Anda harus memiliki pengetahuan tentang cara kerja kode yang ada dan pengetahuan tentang standar lokal, yang keduanya saya rasa sangat saya kenal. Masih saya merasa seperti tidak pernah melakukan review kode yang cukup baik untuk orang lain. Saya juga tahu bahwa orang-orang tertentu tampaknya melakukan kode ulasan pekerjaan yang lebih baik daripada yang lain, jadi saya bertanya-tanya bagi mereka yang peninjau kode hebat teknik apa yang Anda gunakan?
sumber
Jawaban:
Tidak ada cara untuk melakukan tinjauan kode yang lebih baik. Satu-satunya hal yang dapat Anda lakukan adalah meningkatkannya dengan pembelajaran dan pengalaman.
Biasanya hal yang saya ikuti
Saya pikir ada banyak yang bisa Anda tambahkan.
sumber
tanyakan pada diri sendiri apa yang membuat orang lain menjadi peninjau yang baik untuk Anda?
juga, saat Anda membaca kode;
sumber
Saya hanya bertujuan
Selain itu, "mengetahui apa yang harus dicari" hanya datang dengan pengalaman, latihan, dan membaca.
sumber
Dalam pengalaman saya, cara terbaik adalah membiarkan tim lubang membuat ulasan kode. Kami menggunakan milis komit di setiap proyek di mana Anda dapat mengikuti setiap perubahan kode ke sistem kontrol versi. Sebagian besar pengembang kami telah berlangganan milis khusus proyek mereka karena mereka tertarik pada perubahan kode.
Ketika seseorang melihat cara yang buruk dalam kode sumber yang baru, ia menjelaskan kepada pengendara bagaimana ia dapat melakukannya dengan cara yang lebih baik, jika pengendara adalah peserta pelatihan, atau ia memulai diskusi tentang hal itu, jika penggantinya lebih berpengalaman.
Tentu saja metode ini tidak menjamin bahwa semua kode baru ditinjau, terutama di masa-masa penuh tekanan ketika tidak ada anggota tim yang senang mengikuti setiap perubahan kode. Juga tidak setiap pengembang bertanggung jawab untuk memastikan bahwa setiap pengembang membuat pekerjaannya baik, sendirian dari ini Anda tidak dapat menjamin bahwa itu ditinjau. Tapi, setidaknya di tim kami, selalu ada manajer teknis yang bertanggung jawab untuk kualitas teknis.
Saya penggemar berat kode jika sesuai dengan skor berikut:
Apa yang saya pelajari adalah bahwa jika Anda adalah seseorang yang meninjau setiap baris kode dan berpikir Anda harus mengendalikan hal-hal seperti kualitas kode dalam hal pemformatan kode atau efisiensi kode maka Anda sendiri sangat tidak efisien karena Anda melakukan hal-hal yang dapat dilakukan mesin untuk kamu. Target Anda harus menggunakan sistem integrasi berkesinambungan yang mengontrol kualitas kode dan bangun dari setiap kontribusi kode. Jika sistem ini menghasilkan laporan dan mengirimkannya ke kontributor, semuanya sempurna.
Saya harus mengakui bahwa jika Anda harus meninjau kode karena Anda harus mengontrol, atau untuk menentukan peringkat kualitas seorang programmer, maka saran saya tidak masuk akal. Dalam hal ini saya juga tidak akan meninjau kode sumber baris demi baris. Saya akan meninjau hal-hal seperti:
Jika Anda adalah pengembang yang berpengalaman, Anda pasti akan selalu menemukan hal-hal seperti loop yang dapat Anda lakukan dengan kinerja yang lebih baik. Tentu saja bermanfaat untuk menjelaskan kepada orang lain pengetahuan semacam itu, tetapi ini seharusnya bukan bagian dari sesi peninjauan. Jika ada masalah kinerja yang signifikan maka bukan karena dia (atau dia) menggunakan varian tipe daftar yang kurang efisien.
Karena pertanyaan awal adalah mengapa beberapa orang tampaknya membuat ulasan yang lebih baik seperti orang lain, saya akan menjawab bahwa orang-orang ini mungkin membuat pratinjau sebelum ulasan sebenarnya dimulai, berarti mereka mungkin mempersiapkan diri mereka sendiri sehingga mereka tahu persis apa yang ingin mereka tinjau .
sumber
Ajukan banyak pertanyaan kepada mereka
Sebenarnya, tidak, Anda tidak perlu tahu kode sebelumnya untuk menjadi pengulas yang baik.
Beberapa pekerjaan yang lalu, majikan saya mulai meminta semua check-in kode harus diakhiri oleh pengulas. Saya melakukan sebagian besar pekerjaan GUI di C, dan salah satu pengulas terbaik bagi saya adalah teman saya, Bill. Dia mahir dalam C, tetapi tidak pernah melakukan banyak pekerjaan GUI, dan pergi ke ulasan dia tidak tahu bagaimana kode saya seharusnya bekerja.
Tetapi dia mengajukan banyak pertanyaan tentang itu, dan harus menjelaskan sehingga dia bisa mengerti apa yang kode saya lakukan dan mengapa merangsang banyak pemikiran di pihak saya. Itu membuat saya menemukan banyak bug kecil aneh dengan kasus tepi, dan juga mempertimbangkan pendekatan lain yang mungkin saya ambil. Juga, walaupun saya telah menulis C selama 22 tahun pada saat itu dan berpikir saya cukup mahir, dengan cepat meningkatkan kualitas kode saya.
Meskipun saya tidak lagi bekerja di sana, saya masih meninjau perbedaan sebelum check-in dan bertanya pada diri sendiri, "Pertanyaan apa yang akan Bill miliki tentang ini?" Dan cukup sering, saya akhirnya mengubah sesuatu sebagai hasilnya.
sumber