Bagajda birleştirmeden önce kod incelemeleri yaptığımızda ısrar etmeli miyim?


10

StackOverflow'dan istenen yeniden yayın:

Geliştirme için çok sınırlı bir süreye sahip küçük bir geliştirme zamanında çalışıyorum. Çalışmamızın sonucu için önemli olan ancak günlük olarak kullanılmayan bir araç geliştiriyoruz. Takımda programcı olarak geçmişi olan tek kişi benim.

Benim sorunum, bir yıl boyunca gövdeye geri birleştirme önce kod değerlendirmeleri için bastırıyor olmasıdır. Herkes bu konuda anlaştı, ama yine de sadece benim kodum incelenmiştir. Uzun bir tatilden dönen "Bu çirkin bir çözüm - en kısa sürede kaldırmak" ve "hızlı düzeltme" gibi kod yorumları ile bir bagaj geri gelir. Ayrıca yeni olan şey, bir araca sorumluluk atanmasıdır. (Bana ilk teklif edilen bir rol, ancak işle ilgili olmayan bir nedenden ötürü geri döndüm.) Ve bunun çalışmanın iyi bir yolu olduğunu düşünüyor: Geliştirmek için bu kadar sınırlı zamanımız olduğu için, köşeleri bu şekilde kesmeliyiz.

Benim endişem, diğer geliştiricilerin çirkin kod yazmalarıdır: genellikle kapsüllemeyi kırmak, büyük sınıflar yazmak, garip yerlerde iç sınıflar eklemek, çok az veya hiç birim testi yapmak vb. Sonunda aracı daha da geliştirmek imkansız olacaktır.

Bagaja geri dönmeden önce kod incelemeleri yaptığımızda ısrar etmeli miyim yoksa sadece kod kalitesinde bir kaltak mıyım?


3
"Gelişmek için bu kadar sınırlı zamanımız olduğu için, köşeleri bu şekilde kesmeliyiz." -> "Bana şimdi veya daha sonra ödeme yapabilirsiniz." İki buçuk yıldır kod incelemeleri ve birim testleri için uğraşıyorum ve her zaman aynı cevabı aldım. Tabii ki şimdi binlerce satır kodumuz olduğuna göre, tüm "köşe kesimi" bize musallat olmak için geri geliyor.
MetalMikester

Adam daha deneyimli hale geldikçe durum iyileşir.
rwong

Yanıtlar:


2

önce benzer durumlarda oldum ve imho bağlıdır "Ben kod korumak zorunda".

Kodu korumak zorunda kalırsam, yüksek kaliteli kod istediğimden, kişisel olarak her taahhüt için kod incelemeleri gerektirmiyorum (yani programcılar belirli kodların bir incelemeye ihtiyacı olup olmadığına kendileri karar verebilirler) ama okunabilirlik / sürdürülebilirlik daha az acı çekiyorsa sıralı olabilir.

Bunu okurken:

Benim endişem, diğer geliştiricilerin çirkin kod yazmalarıdır: genellikle kapsüllemeyi kırmak, büyük sınıflar yazmak, garip yerlerde iç sınıflar eklemek, çok az veya hiç birim testi yapmak vb. Sonunda aracı daha da geliştirmek imkansız olacaktır.

Sorununuzun sadece kod incelemelerinden daha büyük olduğunu düşünüyorum. Birkaç yönerge eksik gibi görünüyor ve / veya uygulanmıyor. Hiç / birkaç birim testinin yapılmaması kötü bir fikir olabilir, ancak duruma göre değişir. Ancak, breaking encapsulation, writing huge classes, ...kesinlikle düzeltilmesi gereken hataya eğilimli kod yapın.


6

Kod incelemeleri ve bazı kodlama yönergelerinin korunması iyi bir fikir olduğunu düşünüyorum, ancak her check-in için bunu yapmak zaman kaybı olduğunu düşünüyorum . Bir ekip kurarken ve genç programcılar ile iyi bir fikirdir, ancak deneyimli programcılar kendilerini düşünebilir ve sonunda onlara güvenmek zorunda kalacaksınız. Bununla birlikte, yeni şeylere periyodik kod incelemeleri yapabilirsiniz, ancak VCS'nize giren her kod satırına bakmak gerçekten aşırıya kaçıyor.

Ve iş arkadaşınızın düzeltmeleriyle ilgili küçük bir yorum - bazen çirkin bir düzeltme yapmak doğru çözümdür . Bu özel kod çok fazla zaman harcayacak kadar önemli olmayabilir, basit çözüm yeterince iyi olabilir ve başka şeylere zaman harcamak daha iyidir. Kodunuzu "güzel" yapmak bir programcı olarak ana hedefiniz değildir. Ana amacınız, her kod satırını size ulaştırmak ve saplantı haline getirmek .

Söylemeye çalıştığım şey - savaşlarınızı seçmeniz gerekiyor. Teslimat savaşını (ya da bu konuda bu gerçekten ÖNEMLİ alt sistem savaşını) kazanmak için önemsiz bir yardımcı sınıf üzerindeki savaşı kaybetmek sorun değil.


3

Söz konusu program bir kerelik bir atma prototipi değilse, her check-in için kod incelemelerinin zorunlu olduğunu düşünüyorum.

Üst düzey geliştiriciler, uygun olduğunda inceleme talebinde bulunacak kadar vicdanlı olduklarını bildiğinde, incelenmemiş check-in ayrıcalıklarına sahip olabilirler.


1

Birisi daha iyi kodlama standartları uygulamaya başlayana kadar kod incelemesinin cevabı olduğundan emin değil. Birisi berbat kod yazar, yorumlar / itiraf eder ve yine de kontrol eder. Birisi kodu reddetmek istiyorsa, ancak sizi programın gerisinde tutacaksa, bir incelemenin ne işe yarayacağı nedir?

Yapmanız gerekenler: standartları belirlemek, büyük suçluları daha yakından denetlemek ve kafalarına, iyi kodun yazmak için daha fazla zaman almadığını unutmayın. Kötü alışkanlıkları değiştirmeyi reddetmek için zaman çizelgelerini bir bahane olarak kullanmayı bırakmaları gerekiyor.

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.