|
C# Programlama Rehberi - 3 |
|
Gönderiliyor lütfen bekleyin... |
|
|
Geçen gece evdeki
bilgisayarımda elektronik kitaplarımı karıştırırken rastlantı eseri gözüme
takılan ve okuduğumda çok hoşuma giden bir rehber oldu. Rehberde C# ile nesne
yönelimli yazılım geliştirirken hem tasarım hem de uygulama aşamasında bizlere
çok yradımcı olacak tavsiyeler bulunmaktaydı. Bu altın değerindeki öğütleri
tüm yazılımcı arkadaşlarla paylaşmak istedim. Hatta okurken kendi kendime yaptığım
yorumları da Çevirmenin Notu
şeklinde sizlere aktarmayı uygun gördüm.
Rehberde altmışın
üzerinde madde olmakla birlikte bunların yarıya yakını sistem analizi ve tasarımı
ile ilgilidir. Diğer kalan ksımı ise sistemin uygulanması(implementasyonu) konusunu
kapsamaktadır. Bu
makalenin başlangıcı olan
C# Programlama Rehberi - 1 ve
C#
Programlama Rehberi - 2’ye burdan erişebilirsiniz.
Bu
belge Thinking In C# (Larry O’Brien & Bruce Eckel ) kitabının sonundaki
EK C’den Türkçe’ye çevrilmiştir.
Bu dökümanda;
yazılım geliştirirken alt seviye tasarım ve kod yazma hususunda biz programcılara
yardım edecek, rehber olacak, bir takım öneriler bulunmaktadır. Burda yazılanlar
birer öneri olup birer kural olarak algılanmamalıdır. Dökümanda bahsedilenler
önceki deneyimlere dayanarak ortaya çıkan parlak fikirler olarak da görülebilir.
Implementasyon(Uygulama-Gerçekleştirme)
34.
Microsoft’un kod yazarken kullandığı konvensiyoneli takip edin:
Bu kodlama tekniğini sadece Microsoft değil sektörde önde gelen bir çok kurum
kullanıyor. Eğer inatla kendi kodlama tekniğinizi( nesne isimleri ve değişik
alışkanlıklar) kullanırsanız; başka bir C# uzmanının büyük ihitmalle sizin kodlarınızı
okumakta zorlanacağının farkında olun. Öte yandan, hangi kodlama konvensiyonunu
seçerseniz seçin projenin tamamnında aynı konvensiyonu kullanmaya dikkat edin.
Yoksa tutarlılık adına pek başarılı olamazsınız.
35.
Kodlama stiliniz ne olursa olsun, proje takımınızda hatta kurumsal çapta standartlarınızı
belirleyin ve kullanın: Bu şekilde bir standartlaşmaya giderseniz;
herhangi bir arkadaşınızın yazdığı kodu başka bir arkadaşınızın anlaması ve
düzeltmesi işi daha adil bir biçimde sağlanır. Standartlaşma ile birlikte, başkasının
kodu üzerinde çalışan programcı aşina olduğu stilden dolayı kodu daha kolay
anlayacak ve müdahale edebilecektir.
36.
Standart Büyük küçük harf kullanım kurllarına uyunuz:
Sınıfların, private olmayan metot ve özellikerin ilk harflerini büyük yazınız.
Private alanların, özelliklerin ve nesnelerin ilk harflerini küçük yazınız.
Tüm alan, özellik, değişken, nesne, metot,arayüz vs. İsimleri arasına alt çizgi
koymayın ve ilk kelimeden sonra gelen kelimelerin ilk harfleri büyük olsun.
Örnek olarak:
BuBirSınıfIsmi
buBirPrivateMetotVeyaAlanİsmi
37.
static final ve temel veritiplerinden olan sabitlerinizin tamamını büyük harfle
yazınız: Böylelikle onların derleme zamanı sabitleri oldukları
anlaşılsın.
38.
private değişkenleriniz için öyle süslü isimler kullanmayın:
Genelde değişkenin ilk bir kaç harfi veritipini belirtir. Sonra araya bir alt
çizgi en son olarak da değişken ismi kullanılır. Macar notasyonu ( Hungarian
) bu konuda en kötü örnektir. Bu tür bir notasyon kullanmak; kodunuzu kafa karıştırıcı,
okunması zor ve bakımını karmaşıklaştırmaktak için çok uygundur! Onun yerine
sınıflarınızın ve isim alanlarınızın (namespace) ilgili faaliyet alanını belirlemesine
izin verin.
Çevirmenin
Notu: Eğer Visual Studio.NET kullanıyorsanız ve kullandığınız/hazırladığınız
sınıf kütüphanesi düzgün bir xml dökumantasyonu uygulamışsa böyle karmaşık notasyonlara
gerek yoktur.
39.
Genel amaçlı metotlar yazıyorsanız tüm standart sınıflarda bulunan bileşenlerini
üstüne yazınız:
Bunlar temel sınıf olan object’in ToString(), GetHasCode(), Equeals() metotlarıdır.
Bu sayede bu metotların sınıfınıza has versiyonları olurki böyle bir alışkanlık
endinmek çok zaman işinizi kolaylaştıracaktır.
Çevirmenin
Notu: Bu metotların gövdeleri şu şekildedir:
• public override string ToString()
{
}
• public override bool Equals(object obj)
{
}
• public override int GetHashCode()
{
}
40.
Bazen bir sınıfın protected üyelerine ulaşmak için onu türetmek ihtiyacı duyabilirsiniz:
Bu tür durumlarda çok sayıda ana veri tiplerinin olduğu hissine kapılabiliriz.
Eğer türetilen sınıftan ana sınıfa bir tür dönüşümüne ihtiyacımız yoksa, önce
ana sınıfa protected erişime izin veren bir sınıf türetin. Sonra bu türeyen
sınıfıda türetmek yerine; başka bir sınıf içinde üye değişken olarak kullanın.
41.
Eğer iki sınıf arasında bir takım fonksiyonellikler açısından ortaklık(lar)
varsa( mesela container ve iterator) birini diğerinin içinde gömün:
Bu durum sınıflar arasında ortaklıkları ima ettiği gibi tek bir sınıf ismi (dıştaki
sınıf) içinde iki sınıfın da paketlenmesine olanak tanır.
42.
İki veya daha fazla sınıfın bir çok özellikleri bakımından ortak olduğunu farkederseiniz
onları tamamını birbiri içinde sınıflar olarak yapmaya çalışın:
Bu daha az kod yazmanızı ve daha çabuk kodun bakımını yapmanıza olanak tanıyacağı
gibi kodunuzun daha uyumlu ve tutarlı olmasını yardımcı olacaktır.
43.
Sınıflarınız olgunlaşmadan onları optimize etmenin derdine düşmeyin:
Bu biraz da çılgınlık olarak algılanabilir. Öncelikle sistemi oluşturmaya çalışın.
Sistemi tam anlamıyla olgunlaştırmadan önce performans peşinde saatlerinizi
harcamanızın pek bir anlamı yoktur. Sizin temel amacınız sağlamasını yaptığınız
tutarlı bir sistem oluşturmaktır. Eğer gerek olursa kodun üzerinde daha verimli
olması için oynayabilirsiniz.
44.
Sınıflar içindeki değişkenlerin faaliyet alanlarını olabildiğince kısa tutmaya
çalışın: Bu şekilde bir strateji ile hareket etmeniz sizin yanlış
yerlerde yanlış nesneleri kullanmanızın ihtimalini düşürmekle birlikte hata
ayıklamanızı kolaylaştıracaktır. Mesela, sizin container şeklinde bir nesneniz
var ve bunun elemanlarını tektek dolaşan bir takım kodlarınız var diyelim. Metodun
ilerleyen kısımlarında yine benzer bir kod parçasına ihtiyaç duydunuz. Üsteki
container nesnesini alıp alta direk olarak kullanmanız nesnelerin sınırlarının
karışmasından dolayı hataya yolaçabilir.
45.
.NET Sınıf kütüphanesinin container(arraylist, stack, queue vs.. ) nesnelerini
kullanınız: Bunları kullanmak sizin verimliliğinize büyük katkılar
sağlayacaktır.
46.
Bir yazılımın sağlam olması için tüm bileşenlerinin sağlam olması gerekir:
Kodunuzun tutarlı olması için C#’ın size sunduğu tüm olanakları, erişim kontrolleri,
istisnai durum yönetimi, tip kontrolü vs. Kullanın. Ancak bu şekilde projelerinizde
emin adımlarla ilerleyebilirsiniz.
Makale:
C# Programlama Rehberi - 3 C#, Visual C# ve .NET Ahmet Faruk Nacaroğlu
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|