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
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()
{
}
• 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.
Hiç yorum yok:
Yorum Gönder