C#nedir?com
 
YAZAR HAKKINDA
Ahmet Faruk Nacaroğlu
Ahmet Faruk Nacaroğlu
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
40 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: birlikte container gelistirirken kodlama olmasi override private public rehber seklinde sinifin siniflar tasarim tutarli yazilim C# / VC#/.NET Ahmet Faruk Nacaroğlu
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 15.9.2004
Okunma Sayısı : 23317
Yorum Sayısı : 1     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 12.4.2021
Turhal Temizer
Mac OS/X Removing CUDA 12.4.2021
Burak Selim Şenyurt
Tie Fighter Değil, Project Tye! 12.4.2021
Burak Selim Şenyurt
Stackoverflow Sevgi Anketinde Yıllardır Bir Numara Çıkan Programlama Dili Rust Kimdir? 12.4.2021
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
C# Programlama Rehberi - 3
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
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
  • Yazılan Yorumlar
  • Yorum Yaz
EKİ
15
2004
Çeviri için teşekkürler. Fakat, her madde için örnek verilmiş olsaydı, benim gibi yeni olanlar için daha anlaşılır olurdu.
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • 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