Bir programcı başkasının başarısızlığını düzeltmeli mi? [kapalı]


45

Bir programcı SVN deposuna bazı işler yaptı, sonra eve gitti. O gittikten sonra Hudson otomatik inşası başarısız oldu. Başka bir programcı bunu gördü ve kod değişikliklerini inceledikten sonra, sorunun bir kütüphanenin bulunmadığını tespit etti. Bu kütüphaneyi SVN'ye ekledi ve bir sonraki inşa başarıyla tamamlandı.

İkinci programcı doğru şeyi yaptı mı ya da ilk programcı sorunu çözene kadar beklemeli miydi?


31
Soru: Bir programcı üye bir soru sordu. Başka bir üye soruyu okudu ve bazı sözdizimsel ve gramer hataları gördü, bu yüzden soruyu düzenlemeyi ve düzeltmeyi kararlaştırdı, soruyu okumayı biraz daha kolaylaştırdı. Editör ne yaptı mı yoksa posterin hataları düzeltmesi için beklemeli miydi?
yannis

2
Bu durum için takım kurallarınız nelerdir?

4
@nahab Endişelenme, bunun bir problem olduğunu söylemiyorum :). Sadece bir toplulukta, bir takımda olduğu gibi, birbirlerine yardım eden üyeler teşvik edilmelidir. Ayrıca bir inşaatı bozan bir geliştiricinin profesyonel olmadığını düşünüyorum, küçük bir hata olsa bile, bunlar bizim için en iyisidir.
yannis

11
Bütün fikir sahip insanlar insanız ve arada bir yapı kıracak çünkü ilk etapta Hudson olduğunu. Sadece erken yakalamak istiyorsun. Söz konusu programcının yapının eve dönmeden önce inşa edildiğini doğrulamış olması gerektiği iddia edilebilir.

14
Aksini düşünürseniz, bu çok daha kolay bir şekilde anlaşılır - Eğer yapı bozulursa, tüm takımı yavaşlatır (saatlerce sonra evde bile) ve düzeltebilirsiniz, ancak bir işlem nedeniyle değil kasten bir seçim yapın. İşini sürdürmene izin verilmeli mi?
Bill K,

Yanıtlar:


87

Takımınızın genelde nasıl çalıştığına bağlı, ama bunun iyi olduğunu söyleyebilirim. Yapıyı çalışır durumda tutmak herkese zaman kazandırır.

İkinci programcının ilk olarak, kütüphanenin belirli bir sürümüne ihtiyaç duyulması veya başka bir komplikasyon olması durumunda ne yaptığını açıklayan bir e-postayı bırakması kibarlıktır. Ayrıca, yapıyı kırdıklarını belirtmenin biraz daha ince bir yolu.


101
aynı zamanda ilk geliştiricinin yapıyı bozmak için çörek alması için de
kibarlığı

17
Börekler yerine bira rica ediyorum.
Martin York

2
Donutlar, glütene karşı toleranssız saldırgan olabilir. Öte yandan, Best Buy'a 5 dolarlık hediye kartları ...
Christopher Mahan

1
@ChristopherMahan ya bunu yapan tüm takım üyeleri arasında kavgaya yol açar; veya eğer bir ekip üyesine, ara odadaki bir donut kutusundan örtülü dağıtımı gibi verildiyse, çok daha pahalı bir tekliftir. Her halükarda, bir Best Buy hediye kartı, Circuit City veya CompUSA için çalışan eskilere rahatsız edici olabilir. :)
Dan Neely

1
Best Buy'da 5 $ 'ın altına ne alabilirsiniz?
kevin cline

12

Değişir.

  • Hata bir kütüphane eklemenin onu düzeltmenin yolu olduğu kadar açık mı? Bazen düzeltme, bu kütüphaneye ihtiyaç duymayacak bir çözüm bulmaktır.

  • Proje, tüm değişikliklerin mevcut bir biletle ilişkilendirilmesi gereken bir aşamada mı? Eğer öyleyse, bir bilet verdiniz mi? Bu bilet size mi verildi?

Her neyse, sorumluluğu suçlamaya değil, hatayı düzeltmeye odaklan.


9
“... sorumluyu suçlamak değil.” Düzenli bir durum olmadıkça.
Shawn D.

11

Evet tamamdır. Ancak, orijinal programcının derlemenin derlenip derlenmeyeceğini test etmeden önce eve gitmesi profesyonelce yapılmaz.

Şöhretiniz kontrolünüzde% 100'dür. Bu gibi şeyler itibarınızı zedeler ve kararmış bir ünü parlatmaya çalışmak çok zordur.


2
Yapıyı test eden ilk geliştiriciye onusu koymak için +1. İkinci paragraf gerçekten doğru ya da alakalı değil. Davranışınız tamamen üst düzeydeyken bile, diğer insanlar kasıtlı olarak veya değil itibarınıza zarar verebilir.
Caleb

6
Orijinal programcının kütüphanesinde makinenin olması tamamen mümkün, ancak otomobil yapımını yapan makine yoktu. Evet, kütüphane SVN'de olmalı, ama bu farketmemek bile gerçekten ince bir problem olabilir.
mpdonadio

7

İletişim kurmak

Bu senaryo için kesin bir kural yoktur (kendi takım kurallarınızın yanında).

Dev2, dev1'e hatasını düzeltebileceğini söyleyebilmeli, hiçbiri bu değişimden kaynaklanan bir şeyden korkmamalı, bir takımın bir parçası değillerdir.


5

Neden olmasın? Ürününüzün suçlamaları tespit etmekten daha önemliyse, kesinlikle iyidir. Her ne kadar kütüphane değişikliği nedeniyle başarısız bir yapı oldukça topal olsa da, geliştiriciyi test etmediğiniz için kınama yapmanız gerekir.


3

Derleme başarısızlıkları olur. Günlük bir derlemenin gerçekleşmesi önemliyse, düzelteceğim ve daha sonra düzeltilen kodu gözden geçirmek ve kodun olması gerektiği gibi olduğundan emin olmak için bozuk kodu kontrol eden geliştiriciden rica ediyorum.

Söylendiği gibi, onu tamir eden adam muhtemelen kırdı adam e-posta ve düzeltmenin ne olduğunu detaylandırmak gerekir.


2

Benim sloganım, öğleden sonra saat 3'ten sonra SVN'ye bağlı kalmamaktır, bu şekilde kendi yapı hatalarınızı düzeltebilirsiniz.

Yapım başarısızlığını onaramazsanız, o zaman herkesin inşaatı da başarısız olur. Uzun vadede zaman kazanmak için düzeltirdim, ancak düzeltmeniz gerektiğinin farkında olduklarından emin olun.

Bir çeşit 'suçlama parmağını işaret' senaryosuna sahip olmak, bunu yapmanın ya da yapıyı kıran kişinin börekler almasını sağlamanın iyi bir yoludur !!


2
CI aracımızın aslında yapıyı bozan geliştiriciye (ekibin geri kalanına ek olarak) e-posta gönderme seçeneği vardır.
TMN

2

Birinin bunu düzeltmesi gerekiyor ve ilk programcının önce yapıyı bozmadığından emin olmadan eve gitmemesi gerekiyordu. Bununla birlikte, bu kadar kolay çözülemeyen bir problem için, onu düzeltmesi için onu geri çağırmak aşırı olurdu.

Luke Graham'ın açıklayıcı bir e-posta gönderme önerisi ile aynı fikirdeyim, buna rağmen kibar olmaktan çok daha basit - temel iletişim.


Entegrasyon kurulumları, sisteminizin karmaşıklığına bağlı olarak bazen bir saat veya daha fazla sürebilir, herkesin hala buralarda olması durumunda günün son yapısının gerçekleşmesini sağlamak için her gün bir "kesinti" uygulamanız gerekir. O zaman bile, insanlar doktor atamalarına, çocuk futbol antrenmanlarına vb. Sahip olurlar ve durumları ne olursa olsun derhal dışarı atılmaları gerekir. Agile, işin sürdürülebilir bir hızda olması gerektiğini ve işçilere zarar vermemesi gerektiğini söyledi. Yapıları başarılı bir şekilde izlemek için saat 8: 00'ye kadar orada tutmaları buna aykırıdır.
Keith

@KeithS: Doğru. Ancak, ne zaman ayrıldığımdan bağımsız olarak, yapıyı kırmamın en muhtemel zamanının acelemde olduğum zaman olduğunu öğrendim: öğle yemeğinden hemen önce, toplantıdan hemen önce, günün sonundan önce. Bu yüzden yapıyı izlemek ve düzeltmek için yeterli zaman olmadığında hiçbir şey yapmamanın "kişisel en iyi uygulama" olduğunu düşünüyorum.
Daniel Pryden

2

Evet evet evet! Kolektif kod sahipliğini teşvik eder ve yüksek standartlar elde etmek ve kırık bir pencere senaryosunun gelişmesine izin vermemek için takımda bir tür sağlıklı akran baskısı oluşturur. Diğer geliştiriciye bildirmek için biraz iletişim kurmak iyi bir fikirdir.


2

Bence açık olan şeyleri düzeltmenin bir sakıncası yok - yani,% 100 kodunu tamir ettiğiniz adamın aynı - veya büyük ölçüde aynı - düzeltmeyi yapacağından emin olmanız durumunda. Düzeltme daha karmaşıksa, kodunu tamir ettiğiniz kişiyle konuşmak genellikle kibardır - niyetini yanlış anlamış olabilirsiniz veya kırılma sebebi düşündüğünüz gibi değil ya da belki başka bir düzeltmeyi amaçlamış olabilir. ama bir nedenden ötürü henüz bunu tamamlayamadı (hayat olur, bilirsin :).

Genel olarak, kural genellikle şudur: yapıyı bozarsınız - yapıyı düzeltirsiniz, ancak istisnalar vardır, özellikle de düzeltme açıksa ve / veya sorumlu kişi erişilemezse.

Tabii ki, eğer özellikle "teslim edilmiş, eve gitti, günlerce bozuk bir yapı" deseni olan seri yapı kırıcı durumunuz varsa, sorumlu kişinin, CI sistemlerinin ve testlerin neden var olduğu ve birinin nasıl olması gerektiği hakkında konuşması gerekir. kontrol etmeden önce kontrol edin :)


1

Olur böyle şeyler. Subversion'a yeni bir kod dosyası (kaynak veya derlenmiş olsun) eklenememesi, geliştiricinin bilgisayarında çalıştığını farz edersek, büyük olasılıkla, bozuk yapıların en yaygın nedenidir. CI ortamındaki son işimde, bazen en yaşlıları bile unuttum.

Bence, eğer bir başkası binayı tamir edebildi ve bu yüzden takımı mırıldanmaya devam etseydi, sorun değil. Eve giden programcının en azından ne olduğunu söyleyen dostça bir e-postaya ihtiyaç duyduğunu ve yeni kodun taahhüt edilmeden önce eklendiğinden emin olmasını hatırlatması gerektiğini düşünüyorum. Sık sık ortaya çıkarsa, belki de utanç dansıyla cezalandırılan küçük bir suçu, olayları azaltmaya yardımcı olmak (ve ruh halini hafifletmek) için cezalandırın.


1

Bu, Takım dinamiğine bağlıdır, ancak ideal bir dünyada, Takımdaki herkes tüm projeye, tüm koda ve dolayısıyla tüm hatalara birlikte "sahip olur". Bu nedenle, bir sorun bulursanız, sorunu giderir ve yalnızca kodun belirli bir katma değeri varsa, hatanın kaynağı ile iletişim kurarsınız.


0

Bu normal bir durum olmadıkça düzeltmek sorun değil, bu durumda patronun onu aramasını ve onu geri getirip düzeltmesini sağlamış olurum.


0

Değişir, değişir ...

Programcılar olarak işimiz insanları yargılamak değil, işleri yürütmek. Bu nedenle, yapabileceğiniz en iyi şeyin düzeltmek olduğunu ya da açık değilse, değişiklikleri geri almak ve daha sonra düzeltebilmesi için ilk programcının bildirmesini sağlamak olduğunu söyleyebilirim.

Neyse, garip bir şapka giymek için yapıyı bozan en son çocuğa sahip olmak, bir dahaki sefere daha fazla dikkat etmek için yeterli.


0

Bazı ortamlarda bu çok kaba ve iyi nedenlerden dolayı. Diğer ortamlarda, beklenen ve iyi nedenlerden dolayı.

Yine de diğer ortamlarda, çok kötü nedenlerden dolayı çok kaba ya da beklenen.

Kırık bir yapının, doğrulanmış bir yapının ne kadar kritik olduğuna karşı ne kadar kritik olduğuna bağlıdır. Ve bir dereceye kadar, düzeltmenin doğru düzeltmenin ve ihtiyaç duyulan tek şeyin ne kadar belirgin olduğuna bağlı.


0

İlk olarak, 'eve gitti' bir anakronizmdir. Programcılar artık eve gitmiyor - sadece çevrimiçi veya çevrimdışı. Ping ve bekleyebilirsin.

Daha ciddiye, aslında sorunun iki kısmı var. 'kod değişikliklerine bakmak' iyi; Dinlenmek yapılacak doğru şey olmayabilir. Ya eksik bir kütüphane hakkındaki yargıları hatalıysa?

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.