Haruskah kolega saya meninjau satu sama lain kode dari sistem kontrol sumber?

9

Jadi itulah kisah saya: salah satu kolega saya menggunakan untuk meninjau semua kode, yang di-host ke sistem revisi. Saya tidak berbicara tentang peninjauan yang memadai tentang perubahan pada bagian-bagian miliknya. Dia melihat file kode ke file, baris ke baris. Setiap file baru dan setiap diubah. Aku merasa seperti dimata-matai!

Dugaan saya adalah bahwa jika kode sudah dihosting ke sistem kontrol, Anda setidaknya harus percaya itu bisa diterapkan. Pertanyaan saya adalah, mungkin saya terlalu paranoiac dan berlatih untuk saling meninjau kode yang baik?

PS: Kami tim yang hanya terdiri dari tiga pengembang, dan saya khawatir jika ada lebih banyak dari kami, kolega tidak akan punya waktu untuk meninjau semua kode yang akan kami tulis.

Daniel Ganiev
sumber

Jawaban:

19

Saya akan mengatakan YA!

Dua alasan cepat untuk itu:

1) Jika kode dalam produksi, Anda tidak dapat menganggap bahwa itu benar. Setiap perubahan di tempat lain dalam sistem dapat menyebabkan bug. Saya pikir sangat penting bahwa kode diperiksa secara teratur. Dengan cara ini, refactoring dilakukan secara teratur, menjaga kode tetap rapi dan "lebih" benar (terkini mungkin lebih baik).

2) Mampu membaca kode adalah keterampilan yang sangat penting jika Anda ingin menjadi seorang programmer. Dan keterampilan itu, sesuatu yang perlu Anda kerjakan. Untuk setiap programmer mulai bekerja pada basis kode yang ada, jika dia tidak terbiasa membaca kode orang lain, ada kurva belajar yang curam mencoba untuk mendapatkan informasi terbaru tentang apa yang sedang terjadi.

Saya tidak berpikir Anda harus merasa dimata-matai. Terima kritik yang diberikan seseorang kepada Anda (jika itu tentu saja valid). Dan jangan ragu untuk memberikan kritik VALID kepada orang lain. Inilah cara kita belajar. Begitu kita berhenti belajar (atau ingin berhenti), maka ada masalah besar.

Nico Huysamen
sumber
12

Jika kolega tersebut memberikan umpan balik yang baik dan konstruktif, ini adalah hal yang fantastis dan Anda harus sangat menghargainya.

Ini AKAN menangkap bug yang tidak Anda pikirkan saat menulisnya. Ini AKAN membuat Anda menulis kode yang lebih baik karena Anda tahu orang lain akan melihatnya.


sumber
4

Akan lebih sehat jika seluruh tim melakukan review kode alih-alih satu orang. Idealnya semua orang akan mengundang seseorang untuk meninjau kode mereka setelah selesai. Sangat membantu untuk membuatnya tetap informal (menjauhkan manajer) dan membiarkan peninjau membicarakan Anda melalui temuannya. Idealnya reviewer hanya memberikan umpan balik dan tidak melakukan perubahan kode, tentu saja Anda bisa memasangkannya sedikit.

Sangat membantu untuk memiliki standar pengkodean untuk menghindari diskusi ulasan tentang ruang putih dan gaya kode secara konstan. Memiliki beberapa analisis kode statis pada mesin build dapat membantu dalam mengeluarkan beberapa diskusi juga.

Tentang aspek waktu, teorinya adalah itu akan menghemat waktu Anda. Kesalahan kemudian ditemukan semakin mahal, gagal prinsip cepat. Ulasan kode rekan bisa menangkap sedikit masalah.

Joppe
sumber
1
+1 Setuju. Satu orang yang melakukan semua tinjauan dapat menyebabkan ketidaknyamanan dalam tim. Itu bisa sangat salah dan digunakan karena kode saya lebih baik daripada kode Anda . Ini harus menjadi kerja tim.
Audrius
@ Andrius: sedih, saya mengerti maksud Anda.
kizzx2
3

Rekan Anda terdengar seperti pengembang yang rajin, Anda harus mengikuti teladannya.

Christoffer Hammarström
sumber
3

Saya menonton sistem kontrol versi kami dengan cara yang sama. Basis kode kami terlalu besar untuk ditonton setiap baris, tetapi saya mencoba untuk merasakan tingkat tinggi untuk sebagian besar perubahan. Saya juga memperhatikan checkin yang paling mungkin memiliki efek samping dan meninjau baris demi baris itu. Untuk waktu minimal yang saya habiskan melakukan ini, hasilnya sangat besar. (Perhatikan juga: Saya bukan satu-satunya pengembang di tim kami dengan kebiasaan ini.)

Ulasan semacam ini cenderung menangkap bug atau mendorong diskusi setiap minggu. Itu menghemat waktu ketika melakukan QA. Diskusi berkisar dari praktik terbaik hingga desain algoritme dan lainnya. Kunci di bagian depan ini adalah bahwa semua orang melihatnya sebagai konstruktif.

Secara pribadi, ini juga memberi saya pemahaman yang lebih besar tentang apa yang terjadi di bagian lain dari basis kode yang tidak saya sentuh secara teratur. Ketika orang lain membutuhkan bantuan, saya dapat melompat lebih cepat. Juga, ketika ide-ide baru muncul, saya bisa memanfaatkannya lebih cepat.

Colin Gislason
sumber
1

Anda merasakannya sebagai mata-mata (!)? Tetapi dari sudut pandang kolega Anda, saya akan mengatakan ia melakukan hal yang benar untuk pengembangan kariernya. Baca kode orang lain dan temukan bagaimana mereka mendesain dan mengimplementasikan logika, ini akan memberi Anda banyak hal!

IMHO jika seseorang menunjukkan sesuatu yang salah dalam kode Anda, Anda harus menerimanya dan belajar dari mereka tentang cara menulis kode yang baik

Gopi
sumber
1

Selama 6-7 bulan saya melakukan hal yang sama. Bukan untuk memata-matai, tetapi untuk mengontrol kualitas. Setiap baris kode untuk aplikasi yang dikembangkan secara aktif, berkomitmen untuk repositori pusat, 2 bahasa utama, beberapa bahasa lain, makefile besar untuk 4 platform.

Ini praktik yang sangat buruk . Suatu hari saya mengetahui bahwa saya tidak dapat menangkap semuanya karena kekuatannya. Argumen lain yang menentang hal ini adalah subjektivitas - semua orang mungkin salah.

Lebih baik ketika pengembang meninjau kode masing-masing dan ada seseorang yang berpengalaman untuk membuat keputusan akhir dan menentukan arah.

duros
sumber
1

Ulasan kode dalam suatu tim (menggunakan mata ikan , wadah atau alat lainnya) sangat penting dan berguna. satu-satunya hal yang lebih baik adalah pemrograman pasangan langsung untuk memastikan bahwa kode yang masuk ke sistem pertama kali dipikirkan dengan baik dan telah menembus otak lebih dari satu orang.

leora
sumber
0

Ini pernah terjadi di tim saya. Sayangnya itu menghasilkan permainan menyalahkan. Orang-orang terus-menerus menunggu orang lain untuk check-in kode dan akan selalu berusaha menemukan sesuatu yang salah di dalamnya dan memainkan permainan menyalahkan sepanjang waktu.

Saya harap Anda memiliki audiens yang lebih matang.

Kutu buku
sumber
Lebih baik meminta juru kode untuk mengundang seseorang untuk meninjau kode mereka, mungkin sebelum check-in. Ini dapat mencegah kegilaan yang Anda gambarkan.
Joppe
@Tunga: Bagian yang lucu adalah bahwa hanya kode yang diperiksa diperiksa dalam tetapi masih mereka semua sangat antusias membuktikan keunggulan mereka sehingga mereka tidak akan keberatan memperolok-olok pembuat kode dan pengulas. Saya merasa sangat lucu :-)
Geek
0

Ini adalah praktik standar dalam industri. Perusahaan tempat saya bekerja memiliki pedoman tinjauan kode yang sangat ketat. Satu bahkan tidak akan membiarkan Anda melakukan kecuali kode telah ditinjau.

Jangan tersinggung, atau merasa diawasi. Anggap saja sebagai jaring pengaman dan pengalaman belajar.

MM01
sumber
0

Di pekerjaan sebelumnya, pengembang senior menyaksikan dan meninjau semua check-in dan saya sering mendapat umpan balik luar biasa yang membantu menjadikan saya pengembang yang lebih baik.

Di pekerjaan saya saat ini, saya menonton banyak check-in dan tiga hari yang lalu saya menemukan bug dan memberi tahu pengembang.

Latihan ini benar - benar akan menangkap bug dan membuat seluruh tim Anda lebih baik, jika Anda menerimanya.

Steven Benitez
sumber