yazılımda sürüm kontrol sistemlerinin önemi(10 bildiri)
Git, GitHub ya da GitLab açmadan kod yazanlar genellikle bir gün çöpe giden aylar boyu çalışmanın tadını çıkarır. Sürüm kontrol sistemleri (VCS) sadece "geçmiş kayıtları tutuyor" diye düşünmek, araba satın almayı "şoför koltuğu için" anlamak gibi bir şey.
Temel işi basit: her kod değişikliğini kaydeder, kim ne yaptığını tutar, istenirse eski versiyona dönüş sağlar. Ama asıl değeri burada değil. Bir proje üzerinde beş kişi çalışıyorsa, herkes kendi branch'inde oynuyor, sonra merge ediyor. Çakışmalar, hatalar, yanlış silmeler yaşanır ama kontrol altındadır. VCS olmasaydı, birisi diğerinin kodunu ezmiş olurdu, kimse ne olduğunu bilemezdi.
Kurumsal yazılımda sürüm kontrolü olmamak, finansal denetim olmayan bir şirkete benzer. Audit trail yok, accountability yok, felaket yönetimi yok. Bir bug'ın nereden geldiğini bulmak için log'ları okuyorsun. Üretim ortamında patladı mı, iki commit öncesine dönüşün otomatikleştirilmiş. Tüm bunlar VCS olmadan imkânsız.
İlk projelerde "ben dosya kopyala yapıştır yaparım, sorun yok" diye başlayanlar var. Altı ay sonra v1_final_final_real.js dosyalarıyla boğuşurlar. Baştan Git öğrenip disiplin koymak, sonra kaosdan çıkarmaktan çok daha ucuzdur.
Temel işi basit: her kod değişikliğini kaydeder, kim ne yaptığını tutar, istenirse eski versiyona dönüş sağlar. Ama asıl değeri burada değil. Bir proje üzerinde beş kişi çalışıyorsa, herkes kendi branch'inde oynuyor, sonra merge ediyor. Çakışmalar, hatalar, yanlış silmeler yaşanır ama kontrol altındadır. VCS olmasaydı, birisi diğerinin kodunu ezmiş olurdu, kimse ne olduğunu bilemezdi.
Kurumsal yazılımda sürüm kontrolü olmamak, finansal denetim olmayan bir şirkete benzer. Audit trail yok, accountability yok, felaket yönetimi yok. Bir bug'ın nereden geldiğini bulmak için log'ları okuyorsun. Üretim ortamında patladı mı, iki commit öncesine dönüşün otomatikleştirilmiş. Tüm bunlar VCS olmadan imkânsız.
İlk projelerde "ben dosya kopyala yapıştır yaparım, sorun yok" diye başlayanlar var. Altı ay sonra v1_final_final_real.js dosyalarıyla boğuşurlar. Baştan Git öğrenip disiplin koymak, sonra kaosdan çıkarmaktan çok daha ucuzdur.
00