Ana içeriğe atla

Daha iyi gönderim (commit) mesajı yazmak

Uzun süredir svn kullanan bir ekip olarak git kullanmaya geçince bazı alışkanlıklarımızı değiştirmemiz gerekti. Bundan sonra aramıza katılacak arkadaşlar için de link verebilelim diyerek burada bir kaç noktaya dikkat çekmek istiyorum.

Aslında hangi sürüm takip sistemini kullanırsak kullanalım gönderim (commit) mesajları büyük önem taşıyor. Kullandığımız sistem izin veriyor olsa bile boş mesajla gönderim yapmamak lazım. Yaptığımız işi tanımlayan ama kodu da tekrar etmeyen mesajlar yazmak kolayca alışkanlık haline getirebileceğimiz bir şey. İyi gönderim mesajları gözden geçirme sürecini kolaylaştıracağı gibi sürüm notları hazırlarken de en iyi yardımcınız olacaktır. Yazdığınız kodu ileride sürdürmesi gerekecek biri olacaksa ondan (belki de siz olacaksınız bu kişi) alacağınız dualar yazdığınız gönderim mesajları doğrultusunda olacaktır ;)

Hakkında konuştuğumuz mesajlar temelde iki bölümden oluşuyor:

  • Yapılan işin özeti
Bunun gerçekten bir özet olması lazım. 50 veya daha az karakterden oluşan bir mesaj yazamıyorsanız büyük ihtimalle atomik bir gönderim yapmıyorsunuz demektir. Bu gönderim mesajının değil bir sürüm takip sistemi kullanmanın bir konusu olduğundan üzerinde çok durmak istemiyorum ama 'geri alındığında sadece bir yeniliğin/özelliğin/düzeltmenin dışında hiç bir şeyin değişmeyeceği' gönderimler yapmanın önemini de vurgulamadan geçmeyeyim.

Eğer yazdığınız gönderim mesajı bir hata takip sistemiyle bağlantılıysa yaptığınız değişikliğin hangi hatayı kapattığını, iyileştirdiğini de belirtmeniz gerekir.

Özet kısa olacak diye sadece 'bir hata düzeltildi', 'yapılandırma düzeltildi', 'yeni özellik eklendi' gibi anlamsız ve boş mesajla aynı anlama gelen metinler girilmemeli. Bunu insan okuyacak diye düşünüp ona göre 'parola kontrolü hatası düzeltildi', 'yapılandırmada kullanılmayan secenekler temizlendi', 'kaydetmeden cikma ozelligi eklendi' gibi okuyana birşey ifade eden mesajlar yazılmalı.

Mümkün olduğunca kızgın gönderim mesajları yazmamalı. 'Lanet olası hata, lanet olası bir şekilde çözüldü' gibi ifadeleri alt yazı çevirilerinde bırakmak en iyisidir.
  • Bunun neden yaptığınızın açıklaması
Bu ikisi arasında bir satır boşluk olması ve her satırın en fazla 72 karakter uzunluğunda olması uygun olacaktır. 

Yukarıda bir cümle ile özetlediğiniz değişikliği neden yaptığınızın açıklamasını buraya yazmalısınız. Buraya yazdığınız mesajların birlikte çalıştığınız ekibin geri kalanıyla bir iletişim yöntemi (hem de kalıcı) olduğunu aklınızdan çıkarmamalısınız. Hatta ekibin önemli bir kısmının (eğer imkanı varsa) yazdıklarınızı RSS ile bazılarının sadece eposta ile okuduğunu, yazdığınız koddan önce buraya yazdıklarınızı göreceklerini düşünerek yazmalısınız.

Elbette yapılan işin açıklaması olacak diye yazdığınız kodu okuyan birinin açıkça anlayacağı şeyleri (iki değişkenin değerleri birbirine aktarıldı gibi) yazmamak gerekir.

Biraz özen gösterildiğinde çok daha iyi gönderim mesajları yazmak zor olmayacaktır.

Bu blogdaki popüler yayınlar

SHA1'in kırılması ne anlama geliyor?

İnternette güvenlik, gizlilik, bütünlük gibi konular çoğunlukla bizim üzerinde pek düşünmediğimiz ve kullandığımız yazılımlar tarafından halledilen konular arasında yer alıyor. Örneğin internette bankacılık işlemi yaparken bağlandığımız sunucu gerçekten bağlanmak istediğimiz sunucu mu, gönderip aldığımız verileri araya giren birileri ele geçirip ondan bir anlam çıkartabiliyor mu diye düşünmüyoruz. Bu işlemleri tarayıcımız bizim yerimize yapıyor. O da verilerin şifrelenmesi ve sunucuların doğrulanması gibi işlemleri kriptografik protokolleri kullanarak gerçekleştiriyor. Benzer şekilde kullandığınız programlar güncellemeleri indirdikten sonra onların bozulmadan indiğini kontrol etmek için benzer kriptografik araçları arka planda çalıştırıyorlar.

Kriptografinin diğer kullanım alanlarının yanı sıra veri bütünlüğünün kontrol edilmesi de hepimiz için büyük önem taşıyor. Bu işlem için dosya içeriklerini kontrol etmek yerine onların tek yönlü fonksiyonlar kullanılarak özetleri çıkartılıyor ve…

Bilgisayar mühendisliği öğrencilerine tavsiyeler

Üniversite tercihlerinin pek azı gerçekten bilerek, isteyerek yapıldığından öğrencilerin bölümlerini tanımaları, kendilerine bir yön belirlemeleri bazen bir iki yılı bile bulabiliyor. Elbette bir günlük girdisiyle bu sorunu çözmek mümkün değil ama yolun başındaki genç arkadaşlar için bir kaç önerinin faydalı olacağını düşünüyorum. Aşağıda yazanların benim onbeş yıllık tecrübelerim olduğunu, bunları yapmanın iyi geleceği bünyeler olduğu gibi bunları yapmadan da başarılı/mutlu olanlar olabileceğini bilip öyle okumakta fayda var.
Üniversite hayatını sadece okuldan ibaret görmeyin. Mezun olduktan sonraki hayatınız da sadece işten ibaret olmayacak. En çok kitap okuduğunuz, müzik dinlediğiniz yıllar üniversite yıllarınız olsun. Üniversitelerde bir sürü öğrenci topluluğu var, ilginizi çeken birine katılın. Beğenmezseniz başkasına katılırsınız. Sosyal faaliyetleri, konserleri küçümsemeyin pişman olursunuz sonra.Lisans eğitimi dört yıl ve bu yeterince uzun bir süre. Üniversiteye gelene kadar bi…

Yerli yazılım, Milli yazılım

Ülkemizin olabildiğince çok konuda dışa bağımlı olmaması hepimizin isteği. Elbette her şeyi yurt içinde üretemeyiz ama eğer bir ürünün yurt dışından kullanılması ülkenin kaynaklarının dışa aktarılması anlamına geliyorsa veya o ürünü geliştirmek için dışa bağımlı oluyorsak onu kendimizin üretmesi anlamlı olacaktır. Ülke menfaatleri açısından bakıldığında bazen dışarıdan daha ucuza alınabilecek bir ürünü yurt içinde üretmek onun sağlayacağı katma değerler göz önüne alındığında daha faydalı olabilir. Güvenlik, gizlilik gibi konuların yanı sıra bir ülke vatandaşı için kullandığı ürünlerin çoğunun kendi ülkesinde üretildiğini bilmek bile önemlidir.

Uzun zamandır özgür yazılımı anlatmaya gittiğim yerlerde 'neden yabancıların yazılımlarını kullanıyoruz da kendimiz yazmıyoruz' sorusuyla karşılaştığımdan bu konuda kısaca yazayım istiyorum. Bu bahsettiğime çok benzer tepkileri Pardus hakkında da sıklıkla duyuyorduk, 'neden milli çekirdek yok, neden kendi ofis paketimizi yazmıyoruz&#…