Plazma sayı 3, sayfa 131
Sayfanın metni

Sayfa 131

BUILD OTOMASYONU

Build işlemi, projeden projeye farklılıklar gösterir. Değişik projelerde, değişik adımların izlenmesi gerekebilir. Örneğin, projenizdeki C++ dosyaları compile edilip, bazı kütüphaneler oluşturulup, ardından bunlar bazı başka dll dosyaları ile beraber bir klasör yapısına yerleştirilip, ondan sonra çeşitli toollar aracılığı ile üretilmiş data dosyaları aynı klasör yapısında ilgili yerlere yerleştiriliyor olabilir.

Adımlar ne olursa olsun, otomatize edilmelidir. Yani konsoldan tek satır girerek çalışmalı ve size build edilmiş çalışmaya hazır halde projenizi verebilmelidir. Yani projenizi build ederken, önce IDE'yi açıp, oradaki build tuşuna basıp, çıkan exe dosyasını falanca yere kopyalayıp, ardından filanca kütüphaneyi el ile unzip etmek gibi işlemler yapıyorsanız, kendinize gereksiz yere eziyet ediyorsunuz demektir.

Her şey konsoldan tek komutla çalışıyor olmalı. Aynı konsol komutu IDE'nizin içindeki bir butona da bağlı olabilir, bunda yanlış olan bir şey yok. Fakat build işlemini otomatize etmelisiniz ki başında insan beklemeyen bilgisayarlar tarafından projeniz otomatik olarak test edilebilsin.

Bunun için pek çok araç var. İlk akla gelen Gnu Make ve türevleri (nmake vs..) Java'da Ant sık kullanılır. Basit shell scriptleri de kullanılabilir. Visual Studio kullanıcıları da projelerini konsoldan tek komutla build edebilir. VS bunun için hazır scriptlere sahiptir.

VERSİYON YÖNETİMİ

Versiyon yönetim sistemleri, bir grup dosyanın zaman içinde değişen bütün versiyonlarını depolayan, dosyalardan birbiriyle uyumlu olanları etiketleyebilen ve istendiğinde dosyaların eski versiyonlarını verebilen sistemlerdir. Aynı zamanda o dosyalar üzerinde çalışan kişilere değişik erişim hakları verebilir, dosyalardaki her bir değişikliğin kimler tarafından yapıldığını takip edebilirler. En önemli faydalarından biri de aynı dosya üzerinde aynı anda değişiklik yapan birden fazla kişinin değişikliklerini yönetebilmeleridir.

Versiyon yönetimi konusu, maalesef böyle bir yazıda tamamen açıklanamayacak bir konudur. Fakat eğer versiyon yönetimi sistemlerini kullanmayı öğrenmezseniz, belli bir büyüklüğün üstündeki (mesela 20000 satırdan büyük) projeleri kolay kolay bitiremezsiniz. Sadece küçük projeler yapıyorsanız bile, son eklediğiniz class'tan sonra ortaya çıkan bir bug'ı çözmeye çalışırken, bir önceki versiyonu bir komutla alıp karşılaştırdığınız zaman, versiyon yönetimi ile tanışmadan önceki hayatınıza acıma ile bakacaksınız.

Versiyon yönetimi için dünyadaki ana standart CVS'tir. Dünyanın en büyük yazılım firmalarından tutun da en büyük open source sitelerine kadar herkes (belki birkaç istisna hariç) CVS kullanmıştır. Son yıllarda CVS arayüzünü aynen kullanan ve CVS'teki bazı eski problemleri de gideren (örneğin CVS'te text tabanlı olmayan dosyalar saklamak biraz verimsizdir) yeni bir araç daha ortaya çıktı. Subversion isimli bu araç şu an yüz binlerce projeye ev sahipliği yapan SourceForge sitesince kullanılıyor. Kısacası versiyon yönetim sistemi olarak CVS ve Subversion dışında sistemlere bakmak için yanıp tutuşmuyorsanız, bu ikisinden birini gönül rahatlığıyla seçip kullanmaya başlayın.

Versiyon yönetim sistemi için ayrı bir sunucu makine ayırmanızı şiddetle öneririz. Geliştirme makinelerinin (ve bazen build makinesinin) aksine versiyon yönetim sunucunuzun çok güçlü bir makine olmasına gerek yoktur. Sadece hard diski yeterince büyük olsun ve siz bu makineyi sık sık yedekleyin yeter.

Klavyeyle gezinmek için ← ve → tuşları.