
Merhabalar yeni bir yazı ile yine karşınızdayım.Yeni bir yazı dizisine başlıyoruz.Uzun soluklu bir yazı olacak sıkmaması açısından 2’ye bölebilirim.Duruma göre diğer diller içinde aynı yazı dizisinden devam etmeyi planlıyorum.Şimdi gelelim asıl konumuz olan “Kodlama standartları“na.
Yazılım dünyasında bir proje üzerinde tek başına çalışıyorsanız tüm kodları ve düzeni kendi kafanızda kurguladığınızdan problem yaşamayabilirsiniz, problem yalnızca kodlarınızı yazdıktan uzun bir süre sonra kodlara baktığınızda anlayamamanız olabilir.Ancak birden fazla kişi ile yani bir takım olarak yazılım geliştiriyorsanız kendi standartlarınızı kullanmanız halinde takım arkadaşlarınızın sizin yazdığınız kodları anlayamamasına sebebiyet verir.Bu durumda belirli standartlara uymak hem takım halinde senkronize çalışmayı hemde hızlı yazılım geliştirmeyi sağlamaktadır.Bu yazıda C# için kullanılan standartlardan bahsetmek istiyorum.
1.Değişken,metod,sınıf vs. isimlerinde kesinlikle Türkçe karakter kullanmayın
C# Türkçe karakter kullanımına izin veren bir dildir.Ancak siz siz olun Türkçe karakter kullanmaktan vazgeçin.Türkçe karakterler bazı kısımlarda farklı algılandığından sorun yaşamanız muhtemeldir.
Doğru kullanım
1 2 |
int buyukSayi; string ogrenimTuru; |
Yanlış kullanım
1 2 |
int büyükSayı; string öğrenimTürü; |
2.Girintiler ve Hizalama
Girinti ve hizalama sistemini alışkanlıktan öte takıntı haline getirin.Süslü parantezlerin aynı hizada olmasına dikkat edin.Kodların okunabilirliği açısından oldukça önemli bir konudur.
Doğru kullanım
1 2 3 4 5 6 7 8 9 |
public class KullaniciIslemleri { //Yapıcı Metodumuz... public KullaniciIslemleri() { } } |
Yanlış kullanım
1 2 3 4 5 6 7 8 |
public class KullaniciIslemleri { //Yapıcı Metodumuz... public KullaniciIslemleri() { } } |
3.Space tuşunu sık kullanın.
Kodların birbirine girmemesi açısından arada boşluklar bırakmak operatörlerin daha okunaklı olmasını sağlayacak ve kodların okunabilirliği artacaktır.
Doğru kullanım
1 2 3 4 5 6 |
int sayi1, sayi2, ortalama; ... if (sayi1 == sayi2) ... ortalama += (sayi1 + sayi2); ... |
Yanlış kullanım
1 2 3 4 5 6 |
int sayi1,sayi2,ortalama; ... if (sayi1==sayi2) ... ortalama+=(sayi1+sayi2); ... |
4.Açıklama satırları
Program için belki birşey ifade etmeyebilirler ama kodların ne yaptığını açıklama satırı olarak yazmanız ilerde kodlarınıza bakarken “ya ben burda ne yapmışım” demenizin önüne geçer.Ayrıca açıklama satırlarını üşenmeden uzun ve anlaşılır yazın.Hem siz hemde kodlara bakan programcı kodun ne iş yaptığını hemen anlamalısınız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// Satış fiyatı hesaplaması // // Fonksiyon birim fiyatı ve KDV oranı olarak gönderilen // bilgilerin satış fiyatını geri döndürür. // // Örnek Kullanım // double SatisFiyati = SatisHesapla(1000,18) // // Donus Değeri --> 1018.0 (double) // private double SatisHesapla(int birimFiyati, int kdvOrani) { return birimFiyati + (birimFiyati * kdvOrani) / 100; } |
4.1 TODO Açıklamaları
TODO açıklamaları sonradan yapmanız gerekenler için yazılan açıklama satırlarıdır.Örneğin bir fonksiyon yazdınız ancak içerisinde başka bir fonksiyonu çağırmanız gerekiyor ve o fonksiyonu henüz yazmadınız.TODO açıklaması olarak eklemeniz unutmamanızı sağlar.Ne demişler “Söz uçar yazı kalır”.Yapmanız gerekenleri mutlaka TODO açıklaması olarak kaydedin.
1 2 3 4 5 |
public int OrnekFonksiyon() { //TODO : Sonuç ekrana yazdırılması için toplamHesap() fonksiyonu yazılacak Console.Writeln("Hesaplama Sonucu :"); } |
5.C# diline ait kelimeleri değişken,metod,sınıf vs.isimlerinde kullanmayın
6.Kısaltmalar
Çok zorunlu olmadıkça kısaltma kullanmatakn kaçının.Kodların daha okunbilir ve anlaşılabilir olması açısından uzun isimler verin
Doğru kullanım
1 2 |
int kullaniciAdi; string sifre; |
Yanlış kullanım
1 2 |
int kadi; string pass; |
7.Arayüz(Interface) İsimlendirme
Interface kullanırken tanımlamanın başına “I” getirmeniz ilerde hem kullanırken hem okurken size ve kodu okuyanlara kolaylık sağlayacaktır.
Doğru kullanım
1 2 3 4 5 6 7 8 9 10 11 12 |
public interface ITakip { public int StokTakip(int urunAdet); } public class Takip :ITakip { public int StokTakip(int urunAdet) { this.urunAdet = urunAdet; } } |
Yanlış kullanım
1 2 3 4 5 6 7 8 9 10 11 12 |
public interface Takip { public int StokTakip(int urunAdet); } public class Stok :Takip { public int StokTakip(int urunAdet) { this.urunAdet = urunAdet; } } |
8.Pascal/Camel Casing
İşte can alıcı nokta burası.Sadece C# için değil tüm programlama dillerinde kullanılan bir standart olan Camel Case’e geldik.Peki nedir bu Camel Case ?
Değişkenin,metodun,sınıfın,arayüzün… yani tanımlayacağınız herşeyin ilk harfinin ve sonraki gelen kelimenin ilk harfinin büyük harfle başlamasıdır.Bazı kaynaklarda ilk harfi küçük sonraki harflerin büyük olduğunu yazar.Bence çok farkeden bir durum yok ben el alışkanlığından ikinciyi daha çok kullanıyorum.
Doğru kullanım
1 2 3 4 5 6 7 8 9 10 |
public void KisiEkle() ... public interface IBilgiler ... public class Kisi ... private int vergiNumarasi ... protected void btnGonder_Click(object sender, EventArgs e) ... |
Yanlış kullanım
1 2 3 4 5 6 7 8 9 10 |
public void kisiekle() ... public interface Ibilgiler ... public class kisi ... private int verginumarasi ... protected void btngonder_Click(object sender, EventArgs e) ... |
Şimdilik burada bırakıyorum.Bu yazının ikinci serisinde görüşmek dileğiyle.Bol kodlu günler…
Emre merhaba, camelcasing tanımın yanlış olmuş. pascalcasing, tüm kelimelerin baş harflerinin büyük olması, camelcasing ise başlangıç harfi küçük, diğer kelimelerin baş harflerinin büyük olmasıdır.
pascalcasing: KullaniciAdi
camelcasing: kullaniciAdi
iyi çalışmalar