| 
                
             | 
        
        
            
                
                    
                        | 
                            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
                         
                     
                 
                
                
             | 
        
        
            | 
                
             |