Posts Tagged ‘yazılım’

http://www.testistanbul.org adresinden ulaşabileceğimiz gibi, test istanbul 2013 – 2014 yazılım kalitesi raporu ( TURKEY SOFTWARE QUALITY REPORT 2013 – 2014) yazyınlandı.

yazılım da test konusu ile ilgili güzel bir infografik içermek…
Devamı için : Test Istanbul Turkiye Yazilim Kalitesi Raporu yayinlandi

Advertisements

Bir çok zaman yazılımlar 1’den fazla kişi tarafından yapılır. Bir yazılımın yapılması kimi zaman kolay ise de, genellikle çok büyük zahmetlerle doludur. Bu yüzden yazılan çizilen, 3 gün önce yaptığınız, “ya bu bir ar…
Devamı için : Versiyon Kontrol Sistemleri ve Yazılımdaki Önemi

İnsanoğlu gün içinde bir çok hadise ile muhatap olmak durumunda kalabilmektedir. Bu durumlar bazen sinirlendirici bazen de can sıkıcı olabiliyor. Bu durumlarda yapılabilecek doğru bir hareket tarzı var.

Genellikle belirtilen durumlarda insan mantıksal açıdan doğru karar veremeyebiliyor. Bir problem ile uğraşırken yanlış bir çözüm, herhangi sinir bozucu bir şeyden ötürü de ileride kötü sonuç doğruabilecek kararlar alabiliyor. Bir çoğunda da insan bir süre sonra yanlış karar verdiğini görüyor. Uzmanlar bu gibi durumlarda içinde bulunduğunuz fiziksel koşulları kısa bir süreliğine terk etmeniz durumunda daha mantıklı davranabileceğimizi söylüyorlar. Bence de gayet mantıklı.

Örneğin bir telefon görüşmesi sonrasında sinirlenen bünyemiz, görüşmeyi yaptığımız o odadan çıkıp başka bir ortama girdiğimiz takdirde çok daha hızlı toparlayabiliyor. Ayrıca belirtilen duruma takılı kalmamızı engellemiş olup, o durumdan çıkmamız için beyin kendine yeni bir ortam açmış oluyor. Tıpkı çeşitli IDE programlarında yeni bir workbench açmak gibi bir şey bu. Beynimize yeni bir workbench açıp içerisinde kullandığımız dosyaları yeni baştan yapılandırmak gibi.

Başka bir örnek de, bir probleme takılıp kaldık. Bir algoritma var, normalde bunun kurgusunu çok rahatlıkla yapabileceğinizi biliyorsunuz fakat, her nedense, bir türlü yerine oturmuyor. Bu gibi durumlarda kısa bir çay molası, arkdaşlarınızla yapacağınız küçük bir sohbet veya bir kaç espri, içinizde devam etmekte olan (bir nevi sonsuz döngüde devam eden) işlemlerin sonsuz döngülerini kırmaya yarıyor. Böylelikle tekrardan işinizin başına döndüğünüzde kişi, “Evet şimdi şuradan itibaren tek tek adım adım ilerleyeyim” demeyi akıl edebiliyor. Ve ya bunun gibi bazı çözümlemeler yapmayı aklına getirebiliyor. Bu da eldeki hususun aslında çok daha hızlı çözülmesini sağlıyor. Geçen gün ext js framework ile bir dropdownın içini remote gelen veriyle doldurmak için 2 saat uğraştım sanırım. Ertesi gün bunu yapmam 10 dakika sürdü  örneğin…
Özetle beyin, o sorun ile ilgilenirken etrafta görmüş olduğu şeyleri o problemin takılı kaldığınız noktalarıyla bağdaştırdığı için, bir şekilde takılı kalma işlemi (sonsuz döngü diye tabir ettiğim şey) devam ediyor. Ortam değiştirerek ise kafamızda üstü kirli bir masadan, temiz bir masaya geçmiş oluyoruz. Bu sırada da beynimiz, kendi masamızı temizlemiş oluyor.

Bunu herkes uygulayabilir. Ben yaptığımda işe yaradığını görüyorum. İlgisini çekenlerin de bu yazıyı okuduklarında elbet mantıklı bulacaklarını düşünüyorum.

Bir çok zaman yazılımlar 1’den fazla kişi tarafından yapılır. Bir yazılımın yapılması kimi zaman kolay ise de, genellikle çok büyük zahmetlerle doludur. Bu yüzden yazılan çizilen, 3 gün önce yaptığınız, “ya bu bir ara çalışıyordu böyle değildi” diyebileceğiniz şeylerin aslında bir çözümü var. Versiyon Kontrol sistemleri.

Bu sistem kısaca şöyle çalışıyor. Bir dosya merkeziniz var. Burada dosyalar, değiştikçe, versiyon kontrol sistemi o dosyanın bir önceki halini saklıyor. Bu da gerektiğinde 1000 kere değişiklik yapılmış bir dosyada 300. halini görebilme imkanı dahi sağlıyor. Bunları yaparken ise gerekli yorumları yazdığınız takdirde, önceden ihtiyacınız olp da yaptığınız her şeyi görebiliyorsunuz. Dosya merkezini internete açık bir bilgisayara kurarsanız da, oraya erişebilen tüm kullanıcılar projeye dahil olabilmiş olur. Yaptıkları değişiklikleri buraya gönderirler (commit) ve yazılımın ana haline dahil etmiş olurlar.

Bazen 2 veya daha fazla kişi aynı dosya üzerinde değişiklikler yapıyor olabilirler. Bu gibi durumlarda ise “sen ne yaptın, ben şurayı düzelttim, al sana MSN den yolladım, oraya yapıştır, ama şurayı da düzeltmen gerekiyor, off puff…” gibi duyumları öncelerden sıkça duyuyoruz. Bu gibi durumlarda versiyon kontrol sistemlerinde gerek dosya kilitleme, (o dosyada kimsenin çalışmasına izin vermeme), gerekse de kim önce değişikliği gönderdiyse, sonradan gödnerenin yaptıklarının kaybolmadan – en azından tamamen silinmeden işlerini devam ettirme ve tamamlama şansı olabiliyor.

TortoiseSVN benim sıkça kullandığım programdır. http://tortoisesvn.tigris.org/ adresinden ulaşabilirsiniz.

Bir de bu hizmeti ve bunla birlikte dahili olarak yazılım geliştirmek için hizmet veren çeşitli internet tabanlı , siteler de mevcut. http://www.repositoryhosting.com da bunlardan biri. Bu konuya da başka bir yazımda değinmeyi düşünüyorum.

Büyük veya küçük çaplı tüm projelerde versiyon kontrol sistemleri mutlaka kullanılmalıdır diye düşünüyorum.

Bir proje başlattığınızda ilk versiyonu ne zaman çıkaracaksanız da, bunun için kendinize bir sayaç oluşturup, buna bağlı kalmanızı tavsiye ederim. 🙂 http://www.coonter.net