Rehber Bir yazılımı kaliteli yapan nedir?

Merhabalar, bu yazımızda bir yazılımı kaliteli yapan şey konusunda biraz bilgi vermeye çalışacağım.

Öncelikle bu kalite dediğimiz şeyin ne olduğunu söyleyeyim;

Kalite, arayüzün iyi olması, Türkçe dil gibi veya koyu tema gibi özellikler içermesi değildir. Yazılımı kaliteli yapan şey, işleyişidir.

İşleyiş derken neyi kastediyorsunuz dediğinizi duyar gibiyim.
İşleyiş dediğimiz şey; yazılımın yaptığı işlemi nasıl ve ne şekilde yaptığı anlamına gelmektedir.

Aynı işlemi yapan 2 program olabilir. Ancak birisinin arayüzü daha güzel olduğu için kullanıcılar o yazılımı kullanmaktadır. Ancak bakıp görseler kötü arayüzü olan yazılım daha iyi işlem ve sonuç üretebiliyor.

Yazımız 3 bölümden oluşacak;
  • Yazım kalitesi
  • İşlem işleme şekli
  • Kullandığı kaynak ile doğru orantılı işlem
Yazım kalitesi;

Yazım kalitesi dediğimiz şey, programı yazan kişi/kişilerin kodlama yapısı ile alakalıdır. Bir şeyi uzun uzun yazıp fazla işlem gücü gerekmesine neden olabilirler. Bunun yerine yazan kişi veya kişiler bunu edebilecekleri en minimalist şekle kadar indirmeleri gerekmektedir.

Aynı işleme sürekli yazmak yerine fonksiyon yazıp fonksiyon çağırmak hem daha az kod yazmanıza, hem daha kaliteli bir yazım olmasını sağlar. Ayrıca köklü değişiklik yapıldığı zaman tek bir yer değiştirilip tüm alanları değiştirebildiğiniz için büyük bir zaman tasarrufu ettirmektedir.

Ek olarak gerekmeyen bir yere gerekmeyen fonksiyon çağırmanıza gerek yok ise çağırmayın. Bu sisteme daha fazla işlem gücü gerekterecektir.

Kısaca yazım kalitesi bu şekilde.

İşlem işleme şekli;

İşlem işleme şekli deyince biraz tuhaf bir ifade içeriyor olabilir. İşlem işleme şekli dediğimiz şey, bir işlemi ne şekilde, hangi yolları kullanarak, nasıl sonuç ürettiğine denir.

Örnek bir hesaplama işlemi yapalım.

Kötü işlem işleme örneği;

C#:
// disk kapasitesi byte ile gelmektedir.
double deger_1 = disk_kapasitesi;
double islem = deger_1 / 1024;
double islem_1 = islem / 1024;
double islem_2 = islem_1 / 1024;
string degisim = Convert.ToString(islem_2);
label1.Text = degisim + " GB";

İyi işlem işleme örneği;
C#:
// disk kapasitesi byte ile gelmektedir.
double deger_1 = disk_kapasitesi / 1024 / 1024 / 1024;
label1.Text = deger_1.ToString() + " GB";

Daha iyi işlem işleme örneği;
C#:
// disk kapasitesi byte ile gelmektedir.
label1.Text = (disk_kapasitesi / 1024 / 1024 / 1024).ToString() + " GB";

Kısaca bahsettiğim olay bu şekilde.

Kodu uzatmanın bir anlamı yoksa kısa şekilde işlemi tamamlayıp bitirmeniz işlem işleme şekli için oldukça önemli bir yere sahiptir.

Kısaca işlem işleme şekli bu şekilde.

Kullandığı kaynak ile doğru orantılı işlem;

Kullandığı kaynak ile doğru orantılı işlem dediğimiz zaman kapsamlı bir içerik olduğunu biliyorum. Ancak kısa bir şekilde anlatmaya çalışacağım.

Örnek vermek gerekirse, yine 2 yazılımı karşılaştırma yapacağım.
2 yazılım aynı işi yapıyor olsun. Birisi işini yaparken 100 MB RAM kullanıyor. Diğeri ise işini yaparken 24 MB RAM kullanıyor.

Burada bariz şekilde belli olduğu gibi daha az bellek kullanan daha stabil bir yazılım gibi duruyor. Ancak kaynağı az kullanması daha iyi sonuçlar üreteceği anlamına gelmez.
Yazılımı kaliteli yapan şeylerin en başında hata üretme oranının düşük olması gerekmesidir.

Elbette, her yazılım içinde hata var, açık var. Ancak bunu hemen fark edip gidermek kullanıcı çokluğu ve popülerlik kayıp etmemek için oldukça önemli bir yere sahiptir.
Yazan kişi veya kişiler geliştirdikleri yazılımları hata oranını hep minimum düzeyde tutmaya çalışmalıdırlar.

Fark ettiyseniz burada anlatılan işlemler optimizasyon işlemleri ile iç içe olan bir işlemlerdir. Bu işlemlerin sonucu optimizasyona çıkmaktadır.

Optimizasyon rehberimize bakabilirsiniz;

Kısaca yazılımı kaliteli yapan arayüz ve özellik değil, işleyiş ve hatasız işlem yapabilmesidir.

Elimden geldiği kadar düzgün ve doğru anlatmaya çalıştım. Umarım işinize yarar 👌
 
Son düzenleme:
Kodlama kısmı kullanıcı olarak bizi pek ilgilendirmiyor. Neredeyse hepsi kapalı kaynak kodlu olduğu için de değiştirebileceğim tek bir tarafı yok. Uygulamalarda özellikle aradığım şey "İsviçre Çakısı" olması. Mesela bir dosya yöneticisinin hem FTP istemcisine, hem RAR, tar.gz veya ZIP gibi uzantıları açabilme ve sıkıştırabilme yeteneği olması, kendi içinde bir metin düzenleyicisi olması gibi birçok özelliğin bir arada bulunması, bu uygulamaların ayrı ayrı bulunmasına göre daha iyidir.

Kullanışlı bir arayüzü olması çok önemli. Bir yazılım çok acemi biri tarafından yapılmadıysa kötü olmuyor zaten. Dil ve anlam karmaşasından uzak olmalı. Linux Mint'de Türkçe ifadeleri anlamakta sıkıntı çektim ilk kurduğumda, ancak kısa sürede alıştım.
 

Technopat Haberler

Yeni konular

Geri
Yukarı