Efkan arkadaşımızın ricası üzerine aklıma gelen yardımcı araçlardan kısaca bahsetmek istiyorum. Saat gecenin 1i ve doğaçlama yazıyorum, hatalarım olursa bağışlayın. Araçların İngilizce karşılıklarını da yazıyorum, belki google'dan arama yapmak isteyebilirsiniz. Unuttuğum araçları lütfen ekleyin.
Bakalım "Program Files" dizinimde neler var

Sürüm Kontrol yazılımları (Version Controlling)
Birden çok kişinin çalıştığı projelerde, değiştirilen ünitelerin sürüm kontrollerini yapmak hayati önem taşır. Kodlar aynı anda bir çok kişi tarafından etkili şekilde değiştirilebilmeli ve bir merkezde toplanarak birleştirilebilmelidir. Sürüm kontrol yazılımları sayesinde sunucu (server) üzerinde barınan üniteyi değiştirmeden önce kilitlersiniz ve işiniz bitince kilidini bırakırsınız. Değişiklikleriniz sunucuya geri aktarılır ve üniteniz bir sürüm ilerler. Bir başka arkadaşınız aynı üniteyi açtığında yaptığınız değişiklikleri de alacağından karışıklık oluşması engellenecektir. "Üniteyi bana gönder", "sen de mi o üniteyi değiştiriyordun, ben de değiştiriyorum" vs. gibi can sıkıcı dialoglar yaşanmayacaktır.
Sürüm kontrolü yapmanın diğer bir faydası da, zaman içerisinde yaptığınız değişiklikleri görebiliyor olmanızdır. Yani bir önceki sürüm ile şu anki arasında neler değişmiş görebilir, gerekiyorsa geriye dönebilirsiniz.
Bu araçlar sadece üniteler için değil, formlar, dokümanlar veya herhangi bir dosya için kullanılabilir.
Tavsiye: Team Cohorence (shareware)
İzleme / Hata Ayıklama yazılımları (Debugging Tools)
Yazdığınız koddaki hataları Delphi'nin standart "debugger"ı ile yakalayabileceğiniz gibi daha profesyonel araçları da kullanabilirsiniz. Bu araçlar görünen ve görünmeyen hataların ortaya çıkarılmasında, alınan ama hatalı olarak bırakılmayan bellek alanlarının tespitinde (memory leaking) veya benzeri hataların ayıklanmasında kullanılırlar.
MadExcept gibi yazılımlar kullanıcıda meydana gelen hataları gidermenize yardımcı olur. Bir hata oluştuğunda, hangi ünitenin hangi satırında hangi hatanın oluştuğunu, e-posta üzerinden bir rapor olarak alabilirsiniz.
Tavsiye: AQTime (SW), MadExcept (SW, kişisel kullanım için ücretsiz)
Performans Ölçüm Araçları (Profilers)
Yazılımınızın hızını ölçmek için performans ölçüm araçlarını kullanabilirsiniz. Böylece yazılımınızdaki performans sorunlarının hangi prosedür veya fonksiyondan kaynaklandığını bulabilir (darboğaz) ve o kısmı optimize edebilirsiniz. Özellikle döngülerde optimizasyon çok önemlidir.
Tavsiye: GpProfiler (açık kod), Kendi ölçüm aracınızı kendiniz yazabilirsiniz.
Delphi Eklentileri (Delphi add-ons)
Delphi'nin içerisine kendilerini ekleyerek hayatınızı kolaylaştırırlar. Bazıları kodda yazdığınız hataları MS Word'deki gibi altı kırmızı çizgili gösterirken, bazıları form üzerinde seçilen komponentleri, bir başka tür ile değiştirmenizi sağlarlar. Ancak bu eklentiler bazı durumlarda Delphi'nin hata vermesine ve stabilitesinin bozulmasına da neden olabilirler.
Tavsiye: GExperts (açık kod), Castalia (SW)
Yardım Hazırlama ve Dokümantasyon Araçları (Help Authoring / Documentation Tools)
Geldik baş belasına

Tüm bu güçlükleri bir nebze olsun azaltmak için yardım hazırlama araçları kullanabilirsiniz.
Tavsiye: Help & Manual (SW), Doc-O-Matic (SW)
Yerelleştirme Araçları (Localization / Globalization Tools)
Bazı durumlarda yazdığınız yazılımın çoklu dil desteğinin olması gerekir. Özellikle yurt dışına satış yapmayı planlıyorsanız kesinlikle yazılımınız yerelleştirilebilmelidir. Bunun için "resourcestring" kavramına alışmanız ve ona göre kod yazmanız şarttır.
Tavsiye: Multilizer (exe'yi doğrudan yerelleştirme, SW), TsiLang (form bazında yerelleştirme, SW)
Yığın İş Yapma(!) Araçları (Builder Tools)
Diyelim ki her yeni sürüm çıkardığınızda yaptığınız rutin ve sıkıcı işler var. Mesela uygulamayı ve yardım dosyalarını bir yere kopyalayarak paketlemek, CDye yazmak gibi. Bu tür araçlar, bu işleri sizin için ve hatasız olarak yaparlar. Gerektiğinde kodları derleyebildikleri için her bir kopyanın içerisine tekil bir numara ekleyip ayrı ayrı derleyebilirsiniz. Böylece kırılan yazılımınızın kimin tarafından dağıtıma sunulduğuna dair iyi bir fikriniz olabilir.
Tavsiye: FinalBuilder (SW)
Paketleyiciler (Installer Tools)
Yazılımınızı dağıtmanın en ideal yolu kurulum paketi içinde dağıtmaktır. Bu araçlar bir çok zahmetli işe katlanarak yazılımınızı işletim sistemine kurarlar. Gerektiğinde kullanıcılar yazılımınızı sistemlerinden de kaldırabilir.
Tavsiye: Inno Setup (açık kod), InstallAware (Türk yapımı

Sanal Makineler (Virtual Machines / Emulators)
Diyelim ki yazılımınızın diğer işletim sistemlerinde nasıl davrandığını görmek istiyorsunuz. Sanal makineler sayesinde işletim sisteminizin içerisinde bir başka işletim sistemi açabilir ve vakit kaybetmeden işinizi halledebilirsiniz. Bu araçlar, tek bilgisayar üzerinde sana yerel ağ (network) kurmanıza ve yerel ağ üzerinde çalışan yazılımlarınızı test etmenize de yarayabilirler.
Tavsiyeler: WMWare Virtual Machine (SW)
Modelleme Araçları (Modelling Tools)
Diagramlar kullanarak nesneler, veritabanları vs. tasarlayabilir ve ortak bir dil olan UML'ye çevirebilirsiniz. Bu sayede karmaşık işler basitçe anlatılabilir ve anlaşılması kolay olur. Özellikle kalabalık gruplarda işleri çok hızlandıracaktır.
Tavsiye: ModelMaker (SW)
Test Otomasyon Araçları (Testing Tools)
Bu araçlar çeşitli script veya makrolar sayesinde yapacağınız testleri otomasyona geçirmenizi ve zaman kazanmanızı sağlarlar. Bu araçların hazır test modülleri de bulunur.
Tavsiye: TestComplete (SW)
Faydalı olması dileklerimle
Ertuğ Kaya