Yalnız bir geliştirici olarak taahhüt mesajları yazmak?


30

Deponun ben ve diğer programcılar arasında paylaşıldığı projelerimde, birincil geliştirici olsam bile, her zaman kesin mesajlar yazarım.

Ancak bir projede çalışan solo geliştirici olduğum ve deponun kişisel dizüstü bilgisayarımda barındırıldığı ve müşteri tarafından barındırılmadığı projelerde, kendimi dışında hiç kimsenin hala taahhütte bulunduğunu taahhüt etsem görmeyeceği gibi mesajlar?

Şimdiye kadar onları yazıyorum ama bir daha asla geri dönmediğimi ve taahhüt mesajlarımı görmediğimi gördüm. Mesajları yazmak için gelişmeye zaman ayırıyorum, ancak o zaman bir daha bile yanımda bile görülmediler.

Tek başına bir geliştirici olarak taahhüt mesajları yazmak için herhangi bir iyi sebep var mı, yoksa gelişmeye odaklanmaktan vazgeçmelisiniz mi?


14
"Hiç geri dönmedim ve taahhüt mesajlarımı görmedim" de, ilk kez geri dönmeniz gerekecek, muhtemelen size bu iyi nedeni sağlayacaktır. Aslında, ayakkabılarınızda yürürken, ilk geri dönüş gerçekleşinceye kadar muhtemelen sessiz davranırdım
gnat

5
"Asıl geliştirici olsam bile, her zaman kesin mesajlar yazarım." Sence sıra dışı mı? Tabii ki birincil geliştirici, diğer geliştiricilere göre daha çok mesaj yazmalıdır (zaten zamanın% 100'üne sahip olmalıdır).
AlbeyAmakiir

7
Yazılımın eski sürümlerini korumaya başladığınızda, yalnızca en yenisini değil, mesajları tamamen saflaştırın.

Yanıtlar:


43

İşte bir neden: Birdenbire son birkaç komisyon için bir şeyin kırıldığını anlarsanız (her küçük düzenlemede mümkün olsaydı mümkün, benim gibi, sadece "kararlı" anlık görüntüler gerçekleştirirseniz daha az uygulanabilir), daha kolay "Hata düzeltmeleri" yerine, net taahhüt mesajları yazdıysanız, hatayı nereye yerleştirdiğinizi bulun. (Bir meslektaşın en sevdiği string, inanıyorum) Elbette, svn logkullandığınız SCM ile veya herhangi bir şekilde gidebilirsiniz , ancak bunun tersi daha kolay olmalı .

Ayrıca mesajlar iletmek, sizi tam olarak bir değişiklik olarak ne yaptığınızı düşünmeye zorlar ve inanıyorum ki, projenizi geliştirmeye devam etmenin en iyi yolunun ne olduğunu aklınızdan alın.


13
Son paragraf için +1. Neden bir değişiklik mesajı yazdığımı, değişikliği neden yaptığımı her zaman bildiğim kadarıyla çok uzun zaman alıyor .
Stephen Darlington

5
Solo işlerim için, bir şey üzerinde çalışmaya başlamadan önce taahhüt mesajım var. Küçük bir şey yapıyorum (30-45 dakika hedef al ... burada bir karım ve çocuklarım var!) Ve bunu taahhüt ediyorum. Belki buna kararlı bir gelişme diyebilirsin?
corsiKa

52

Ben her zaman denerim. Kaç kez geriye bakıp, "Adam bu değişikliği yaptığımda ne yapıyordum?" Diye düşünüyorsunuz. Her zaman yaparım. 30 saniyelik bir mesaj yazarken, hatırlamaya çalıştığınız 20 dakikalık bir iş bırakabilirsiniz.


12
Ayrıca aylık rapor oluştururken yardımcı olur.
Taahhüt

2
Evet, yorum yapmak için harcadığı süreyi geri ödemek için ihtiyacın olan sadece bir zaman alıyor.
tzerb

20

Dürüst olmak gerekirse, düz ingilizce olarak 40 ila 80 karakter yazmanın genel giderinin bir taahhüt için önemli bir ek yük olduğuna inanıyor musunuz, yoksa tembel olmak için bir bahane mi arıyorsunuz?

Belki de probleminizi neden açıkça yaptığınızı açık bir şekilde ingilizce olarak ifade ediyor olabilirsiniz, bu durumda, değişikliğin amacını gözden geçirmeniz gerekebilir, hatta kendinize sorma noktasında gerçekten yapmanız gerekir.

Benim tavsiyem, yalnız uçtuğunuz için kuralları ihlal edebileceğinizi düşünmemek. Her zaman profesyonel kalın ve anlamlı taahhüt mesajları ekleyin. Diğer cevaplayıcıların belirttiği gibi, bir gün buna müteşekkir olacaksın.


14
  • Her zaman yalnız bir geliştirici olmayacaksın.

  • Sonunda kod tabanınızı kıracak ve geri yüklemeye çalışacaksınız. İyi taahhüt mesajları size saatler kazandıracak.

  • Üç hafta önce ne üzerinde çalıştığını hatırlayamazsın, değil mi?

  • Taahhüt mesajları çok açık olmalıdır. Olmazlarsa, o zaman bir görev üzerinde çalışmayı bitirmediniz veya tek bir görev iki veya daha fazla göreve yayıldı.


7

Kesinlikle, yoksa dallanma ve birleşme gibi özellikleri kullanmak çok daha zor hale gelir. Ve edecek hatta yalnız geliştirici eğer bunları kullanmak istiyorum.


6

Bunun olası bir nedeni: sizi az önce yaptığınız değişiklik hakkında daha soyut düşünmeye ve değişiklikleri yapılandırmaya zorlar.

Kendini anlamsız hissediyorsa, belki de tuhaf bir davranışın kaynağını arıyorsanız, büyük değişiklikler veya mevcut işlevselliği değiştirenler hakkında yorum yapın.


Bu cevabı tekrar ziyaret etmek ilginç. Son zamanlarda biraz aşırı bir pozisyon aldım: hiçbir şekilde taahhüt mesajı yok. Ancak bu, hiçbir zaman bir gerilemeyi izlemeye çalıştığımı hayal edemediğim oldukça düz bir HTML / JS projesinde. Mesaj yazmak için harcanan herhangi bir çaba, kesinlikle kesinlikle başka bir yere harcanması daha iyi olacaktır. (Tüm projeler bu kategoride değildir!)
Steve Bennett

4

TXR projesinin tek üreticisi oldum ve projenin başından beri oldukça detaylı bir ChangeLog tuttum. Bu, 11.000 satıra yakın ve büyümeye yakın: http://www.kylheku.com/cgit/txr/tree/ChangeLog

(Depodaki taahhüt mesajları, ChangeLog’da olanın bir kopyasıdır.)

[2016 düzenleme: 2015 ortasında, artık bir ChangeLog dosyası tutmuyorum; ancak, taahhüt mesajları aynı anda Git ve ChangeLog kurallarına uyan bir formatta yazılır. Aynı seviyede ayrıntı, birleştirme sorunlarına yol açmayacak şekilde. Bir ChangeLog dosyası bu yorumlardan mekanik olarak yeniden oluşturulabilir.]

Evet, bir kereden fazla, bir şeyi bozan bir değişim ile ilgili eski bir taahhüt mesajına geri döndüm (yardımı ile açığa çıktı git bisect). Mesaj ne yaptığımı anlamama yardımcı oldu.

ChangeLog'da bir fonksiyonun, türün, makronun veya global değişkenin ilk ne zaman tanıtıldığını ve ne zaman değişikliklere dokunduğunu söyleyebilirsiniz.

Ama yazılı başlıca nedeni ayrıntılı başınıza çalışan bu olduğunda Benzer iletileri işlemek: Bunu yaparken hata bulmak .

Ayrıntılı bir taahhüt mesajı yazmak, başkası tarafından yaptığınız taahhütnamenin kod incelemesine benzer yararlar sağlar. Taahhüt incelemesindeki değer o kadar çok biri kodunuzu kontrol ediyor, ancak değişikliklerinizi başka bir geliştiriciye açıklamak zorundasınız.

Bazı şeyleri açıklamaya çalıştığınızda, bazen anlamlı olmadıklarını farkedersiniz.

Başka bir sebep: işe yaramaz bir değişiklik yaparak kendinizi yakalayabilirsiniz . Ayrıntılı bir yorum yazarak, yaptığınız şey hakkında üst düzey bir görüş elde edersiniz ve sonra bazen bunun iyi bir değişiklik olmadığı gerçeğiyle karşı karşıya kalırsınız.

Bazen değişiklikler yaptım, ChangeLog yazısını yazarken, bunun bir git reset --hard(bunun işe yaramaz değişiklikleri atmak yerine) olacağını anladım git commit -a.


3

Henüz taahhüt mesajlarınızı görüntüleme gereği ile karşılaşmasanız da, gelecekte onlar için minnettar olabilirsiniz. Onları kendin için bile yazmaya devam etmelisin. Daha sonra yararlı olmalarının birçok nedeni vardır (Neden bir özellik eklediğinizi, eksik dosyaları bulma vb.

Mesaj gönderme işleminin amacı ile ilgili bir soru var: Neden bir Mesaj Göndermeliyim?


3

Her zaman değişiklikler hakkında anlamlı bir mesaj iletirim ve bunu sık sık artan değişikliklerle de yaparım.

Bu her zaman en faydalı şey midir? Hayır, bunu yaparken sorun yok. Devam eden önceki bir aşamaya geri dönmeniz gerekirse, mesajlarınız nerede olduğunuzu ve ne yaptığınızı size bildirir. Aynı zamanda bir projedeki ilerlemeyi takip etmek için de kullanılabilir. Zaman kaybı olarak görülüyorsa, cidden bu kadar sonuç veren bir cümleyi düşürmek için gereken 30 saniye mi?


3

Bir takımda çalışıp çalışmama konusunda taahhüt mesajlarıyla ilgili herhangi bir fark görmüyorum. Burada veya orada yalnızca sınırlı bir süre için ne yaptığınızı hatırlarsınız ve ondan sonra başkası yazmış gibi olur. Öyleyse, diğer insanlar için olduğu kadar iyi mesajlar yazmalısınız.

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.