PROGRAMLAMA İPUÇLARI YAZILIM KURALLARI(Devam) - SOFTSAM

Breaking

About Software

11.02.2016

PROGRAMLAMA İPUÇLARI YAZILIM KURALLARI(Devam)



Programlama ipuçları ve yazılım kuralları makalemizin ilk yayınında bir çok kuraldan bahsettik ve daha devamında bahsedeceğimiz bir çok şeyin olduğunu söylemiştik.Kaldığımız yerden devam etmemiz gerekirse Değişken İsimlendirme Kuralları başlığı altında devam edelim.

Değişken İsimlendirme Kuralları:
Aslına bakılırsa bu bahsedeceğim kurallar genel olarak yazılımcıların kullanmayı seçtiği genel kurallara dayalı olarak bir kaç kendi yöntemlerimi de içeren konulardan oluşuyor.
1)Değişken isimleri sayı ile başlamaz.
Bu aslında bir söz dizimi hatasıdır.Derleyici de bunu hata olarak görecektir.
5Ogrenci---> Yanlış
Ogrenci5--->Doğru
2)Değişken tanımlanırken arada boşluk ve özel karakterler kullanılmaz.Özel karakterler değişken adında kullanılmaz ancak bir tanesi dışında '_' işareti boşluk yerine kullanılabilir.Yada değişkene başlarken veya bitirirken.
string Ad Soyad; --->Yanlış
string Ad_Soyad;--->Doğru
int _Ogrenciyas; ---> Doğru
int OgrenciNo_; ---> Doğru

Bu kuralda yine derleyici hatasına sebep olacak türde bir hatadır. 
3)Programlama dili için bir anlam ifade eden hiç bir anahtar kelime yada söz dizimi değişken ismi olarak konulmamalıdır yine derleyici hatasına yol açacaktır.
int private; --->Yanlış
int class; --->Yanlış
Bu anahtar kelimelere ekleme yapılarak programalama dili için bir anlam ifade etmemesini sağlayarak bir değişken oluşturabilirsiniz.
int private_sayi1;--->Doğru
int classField; --->Doğru
Bunlar hatırladığım derleyici hatasına sebep olan isimlendirme şekilleriydi.
Önceki yazımızda da aslında şimdi bahsedeceğimiz konuya değinmiştik.
4) Değişken isimlendirmesi yapılırken o değişkenin ne için tanımlandığını açıklayacak türde bir isme sahip olmalıdır.Bu sadece değişken için geçerli değil tabi'ki tanımladığınız yada oluşturduğunuz her şey için geçerlidir.Class,Property, Field, variable, yada Method lar. Aksi halde şöyle bir durumla karşılaşabiliriz. Console sınıfının içerisindeki metod ve property leri örnek olarak ele alacağım.
Console.WriteLine(); metodunun ne iş yaptığını ilk bakışta anlaşılmasının sebebi günlük konuşma dili ve kelimelerine yakın olmasıdır. Burda Console sınıfının A diye tanımlandığını ve metodun da M1 diye tanımlandığını varsayalım. A.M1(); hiç bir anlam ifade etmiyor.O metodun ve sınıfın işini görebilir belki ama bu sınıfı kullanacak yazılımcıların işini zorlaştıracaktır.Bu sınıfın içerisinde sadece bir tane metod yok hepsini bu şekilde anlamsızca isimlendirmek işimizi oldukça zorlaştıracaktır.
Şimdilik Değişken isimlendirme konusunda aklıma gelen konular bunlar.
       Kullanıcı etkileşimini ele alacağımızı da söylemiştik. Kullanıcı bizim asla bilemeyeceğimiz kişilerdir hepimizin de bileceği üzere.Bu yüzden programınızı ne türde çılgın insanlarında kullanacağını bilemezsiniz. Bu yüzden eğer kullanıcıdan bir sayı istemişseniz bu kullanıcının sadece sayı gireceği konusunda emin olmayın.Sayı girilmediği takdirde oluşacak hataları da göz önünde bulundurarak kodlamayı yaparsanız programınız hatasız çalışacaktır ve müşteri memnuniyeti artacaktır.
Örnek;
static void Main()
{
int sayi1,sayi2;//İhtiyacınız olmadığı takdirde fazladan değişken tanımlamayın.
Console.WriteLine("Birinci Sayıyı Giriniz:");
sayi1=int.Parse(Console.ReadLine());
Console.WriteLine("İkinci Sayıyı Giriniz:");
sayi2=int.Parse(Console.ReadLine());
Console.Writeline("Toplam:"+(sayi1+sayi2));
Console.ReadKey();
}
Bu kodlama örneğinde siz sayı girdiğiniz sürece program hatasız çalışacaktır.Fakat A gibi bir karakter girerseniz yada SOFTSAM gibi bir metin bu programı durduracak bir hataya sebep olacaktır. FormatException denilen hataya yol açacaktır ve program kapanacak tekrar başlatılması gerekecek. Ben bu şekilde çalışan bir programı kullanmak istemezdim.Bizim bu kontrolleri yaptıktan sonra kullanıcıya sunmamız gerekiyor.Bunun bir çok yolu vardır elbette her dil içinde farklı bir yol vardır fakat biz C# ta try catch denilen hata yakalama bloklarını kullanırız bu işi bizim için yapar.
Kodumuzu şu şekilde düzenleyelim.
static void Main()
{
bool hataKontol=true;
int sayi1,sayi2;//İhtiyacınız olmadığı takdirde fazladan değişken tanımlamayın.
do{
try
{
Console.WriteLine("Birinci Sayıyı Giriniz:");
sayi1=int.Parse(Console.ReadLine());
Console.WriteLine("İkinci Sayıyı Giriniz:");
sayi2=int.Parse(Console.ReadLine());
Console.Writeline("Toplam:"+(sayi1+sayi2));
}
catch{
Console.Writeline("Lütfen sayı giriniz.Devam etmek için bir tuşa basınız.");
Console.ReadKey();
hatakontrol=false;
Console.Clear();

}
}while(!hatakontrol);

Console.ReadKey();
}
Bu durumda kullanıcıya bağlı oluşabilecek bir hataya karşı çözüm üretmiş olduk.Ayrıca yapılacak yada oluşacak hata yada veri kayıplarını kullanıcıya belirtip o isterse işlemin yapılmasını sağlamalısınız. Veri silme Güncelleme yada sayfayı kapatmak gibi.
Bir sonraki yazımız da daha hızlı program yazma hakkında bildiklerimi sizinle paylaşmaya çalışacağım.
Teşekkürler....
Şamil SOFTSAM Özçelik

Hiç yorum yok:

Yorum Gönder