Meslektaşlarım kaynak kontrol sistemindeki kodları birbirlerini gözden geçirmeli mi?


9

İşte benim hikayem: meslektaşlarımdan biri revizyon sistemine barındırılan tüm kodu incelemek için kullanıyor. Onun ait olduğu bölümlerdeki değişikliklerin yeterli bir şekilde gözden geçirilmesi hakkında konuşmuyorum. Kod dosyasını dosyaya, satır satır izler. Her yeni dosya ve her değişiklik. Sadece casusluk yapmayı hissediyorum!

Benim tahminim, eğer kod zaten kontrol sistemine ev sahipliği yaptıysa, en azından uygulanabilir olarak ona güvenmelisiniz. Benim sorum, belki de çok paranoyak ve birbirlerinin kodunu gözden geçirme pratiği iyi mi?

Not: Sadece üç geliştiriciden oluşan bir ekibiz ve daha fazla olacaksak, meslektaşımızın yazacağımız tüm kodları gözden geçirmek için zamanları olmayacağından korkuyorum.

Yanıtlar:


19

Evet derim!

Bunun iki hızlı nedeni:

1) Kod üretiliyorsa, doğru olduğunu varsayamazsınız. Sistemin başka bir yerinde yapılan herhangi bir değişiklik hatalara neden olabilir. Kodun düzenli olarak kontrol edilmesi çok önemli. Bu şekilde, yeniden düzenleme düzenli olarak yapılır, kodu düzenli ve "daha" doğru tutar (güncel muhtemelen daha iyi).

2) Bir programcı olacaksanız, kodu okuyabilmek çok önemli bir beceridir. Ve bu bir beceri, üzerinde çalışmanız gereken bir şey. Mevcut bir kod tabanı üzerinde çalışmaya başlayan herhangi bir programcı için, eğer başkalarının kodlarını okumaya alışkın değilse, olup bitenlerden haberdar olmaya çalışan dik bir öğrenme eğrisi vardır.

Casusluk hissetmen gerektiğini sanmıyorum. Birinin size verdiği herhangi bir eleştiriyi kabul edin (elbette geçerliyse). Ve diğer insanlara VALID eleştirisi vermekten çekinmeyin. Öğrenme şeklimiz bu. Öğrenmeyi bıraktığımızda (veya durdurmak istediğimizde), o zaman büyük sorunlar var.


12

Eğer söz konusu meslektaşım iyi ve yapıcı geribildirim sağlarsa, bu harika bir şeydir ve çok takdir etmelisiniz.

Bu OLACAK bunu yazarken aklıma gelmedi hataları yakalamak. Bu OLACAK Başkalarının göreceksiniz biliyorum çünkü daha iyi kod yazarken sonuçlanır.


4

Tüm ekibin bir kişi yerine kod incelemeleri yapması sağlıklı olacaktır. İdeal olarak herkes tamamlandıktan sonra birisini kodlarını incelemeye davet eder. Resmi olmayan (yöneticileri uzak tutun) ve gözden geçirenin bulguları aracılığıyla sizinle konuşmasına izin vermek faydalıdır. İdeal olarak gözden geçiren sadece geribildirim verir ve kod değişiklikleri yapmaz, elbette biraz eşleştirebilirsiniz.

İnceleme tartışmalarının sürekli olarak beyaz alan ve kod stili ile ilgili olmasını önlemek için kodlama standartlarına sahip olmak gerçekten yardımcı olur. Bir yapı makinesinde bazı statik kod analizlerine sahip olmak, bazı tartışmaların dışarıda tutulmasında da yardımcı olabilir.

Zaman yönü hakkında, teori size zaman kazandıracak olmasıdır. Daha sonraki arızalar daha pahalı olduklarında, hızlı başarısız prensipte bulunurlar. Akran kodu incelemesi oldukça fazla sorun yakalayabilir.


1
+1 Kabul Edildi. Tüm incelemeyi yapan bir kişi takımdaki tedirginliğe yol açabilir. Bu korkunç yanlış gidebilir ve olarak kullanılabilir kodumu daha iyidir Kodunuzdaki . Bu bir takım çalışması olmalı.
Audrius

@Andrius: üzgün, ne demek istediğini anlıyorum .
kizzx2


3

Sürüm kontrol sistemimizi de benzer şekilde izliyorum. Bizim kod tabanı her satırı izlemek için çok büyük, ama ben çoğu değişiklik için üst düzey bir fikir elde etmeye çalışın. Ayrıca, yan etkileri olması muhtemel olan ve bunları satır satır inceleyen checkin'leri de izliyorum. Bunu yapmak için harcadığım minimum süre için getirisi çok büyük. (Ayrıca not: Bu alışkanlığa sahip ekibimizdeki tek geliştirici ben değilim.)

Bu tür bir inceleme, hataları yakalama veya haftalık olarak tartışmayı başlatma eğilimindedir. KG yaparken zaman kazandırır. Tartışmalar en iyi uygulamalardan algoritma tasarımına ve daha fazlasına kadar uzanmaktadır. Bu cephedeki anahtar, herkesin onu yapıcı olarak görmesidir.

Şahsen, aynı zamanda düzenli olarak dokunmadığım kod tabanının diğer bölümlerinde neler olup bittiğini daha iyi anlamamı sağlıyor. Diğerleri yardıma ihtiyaç duyduğunda daha hızlı atlayabilirim. Ayrıca, yeni fikirler ortaya çıktığında bunlardan daha erken yararlanabilirim.


1

(!) Casusluğunu hissediyor musunuz? Ancak meslektaşınızın bakış açısından, kariyer gelişimi için doğru şeyleri yaptığını söyleyebilirim. Diğerlerinin kodunu okuyun ve mantığı nasıl tasarlayıp uyguladıklarını bulun, bu size çok şey kazandıracak!

IMHO kodunuzda yanlış bir şey olduğuna işaret ederse, onu kabul etmeli ve onlardan iyi bir kod yazma hakkında bilgi edinmelisiniz.


1

6-7 ay boyunca aynı şeyi yapıyordum. Casusluk için değil, kaliteyi kontrol etmek için. Merkezi depoya adanmış aktif olarak geliştirilmiş bir uygulama için kodun her satırı, 2 ana dil, birkaç başka dil, 4 platform için devasa dosyalar.

Bu çok kötü bir uygulamadır . Bir gün sağlamlık yüzünden her şeyi yakalayamadığımı öğrendim. Buna karşı bir başka argüman öznelliktir - herkes yanlış olabilir.

Geliştiricilerin birbirlerinin kodlarını gözden geçirmeleri daha iyi olur ve nihai kararlar almak ve yol tariflerini tanımlamak için deneyimli birileri vardır.


1

Bir ekip içindeki kod incelemeleri ( balık gözü , pota veya diğer araçları kullanarak ) son derece önemli ve kullanışlıdır. daha iyi olan tek şey, sisteme ilk kez giren kodun iyi düşünülmüş ve birden fazla kişinin beyninden geçtiğinden emin olmak için doğrudan çift programlamadır.


0

Bu benim takımımda bir kez oldu. Ne yazık ki bir suçlama oyunu ile sonuçlandı. İnsanlar sürekli başkalarının kodu iade etmesini bekledi ve her zaman yanlış bir şey bulmaya çalışacak ve her zaman suçlama oyunu oynayacaktı.

Umarım daha olgun bir kitleniz olur.


Kodlayıcının, check-in öncesinde mümkün olan birini kodunu incelemeye davet etmesi daha iyidir. Bu, tarif ettiğiniz çılgınlığı önleyebilir.
Joppe

@Tunga: Komik kısmı sadece gözden geçirilmiş kod teslim edildi ama yine de hepsi kendi üstünlüğü kanıtlama konusunda çok istekliydiler, kodlayıcı ve gözden geçirenleri taklit etmeyeceklerdi. Çok eğlenceli buldum :-)
Geek

0

Bu endüstride oldukça standart bir uygulamadır. Çalıştığım şirketlerin çok sıkı kod inceleme yönergeleri var. Kod gözden geçirilmedikçe bile taahhüt veremezsiniz.

Kendinizi rahatsız etmeyin veya izlenmiş hissetmeyin. Bunu bir güvenlik ağı ve bir öğrenme deneyimi olarak düşünün.


0

Önceki bir işte, kıdemli geliştirici tüm check-in'leri izledi ve inceledi ve sık sık beni daha iyi bir geliştirici yapmamıza yardımcı olan mükemmel geri bildirimler aldım.

Mevcut işimde, check-in'lerin çoğunu izliyorum ve üç gün önce bir hata buldum ve geliştiriciyi bilgilendirdim.

Bu uygulama kesinlikle olacak hataları yakalamak ve bunu benimsemesi halinde, daha iyi tüm takım olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.