Yazan : Şadi Evren ŞEKER

Bu yazının amacı, geliştirme ortamlarında kullanılan kodlama standartları için örnek bir doküman oluşturmaktır. Kodlama standardı, daha sonradan yapılacak olan bakım, güncelleme ve ekleme işlemlerinin kolaylaşmasını sağlarken, dokümantasyon ve projeye dahil olan yeni personelin adaptasyonunu hızlandıracaktır. Kurallar, aşağıdaki başlıklar halinde sunulmuştur.

Karakter Kodlaması

Kod geliştirilmesi sırasında, kullanılan isimlerin hiçbirisinde Türkçe karakter tercih edilmemelidir. Kullanılan isimlerin, fonksiyon veya sınıfı tanımlar nitelikte olması ve ayrıca kodun içerisinde yorum satırı şeklinde içeriğine dair bilgi vermesi beklenir.

Deve İsimlendirmesi (Camel Notation)

Bu yazım türünde, birden fazla kelimeden oluşan isimlerin, her kelimesinin ilk harfi büyük diğer harfleri küçük olarak yazılır.

Örnek

DenemeBasligi

Sınıf isimleri

Bütün sınıf isimleri büyük harflerden oluşan bir ön ek alır. Bu ön ek, BoonEX projesi kapsamında yazılması durumunda BX’tir. Bunun dışında, özel bir proje için eklenen sınıflar, projeyi belirten ön ekler alır. Örneğin öğrenci portalı şeklindeki bir proje için OP ön eki eklenebilir. Ayrıca sınıf isimleri yegane olmalıdır (unique) ve deve isimlendirilmesi kullanılmalıdır.

Örnek

OPDenemeSınıfı

Değişken Tanımlama

Bütün değişken isimleri, küçük harf ile başlamalıdır. Ayrıca değişkenin tipine dair bir ön ek almalıdır. PHP dilinde mevcut bulunan değişken tipleri ve bu değişken tiplerine göre eklenebilecek ön ekler aşağıda listelenmiştir.

  • i Integer
  • f Float, Double
  • s String
  • a Array
  • r Resource
  • b Boolean
  • is Boolean

Örnek:

$sIsim = “Variable Value”;

$iSayi = 0; $iSayi++;

$rPrjDosya = fopen (“dosya.txt”, “r”);

var $isYaz;

Fonksiyon Tanımları

Fonksiyon isimleri, değişken tanımına uymalıdır. Fonksiyonların küme parantezleri, fonksiyonun tanımlandığı satırın sonunda açılmalıdır.

All Function Names should start with a lower case letter, and each word should begin with a capital letter. Curly braces used in the list of parameters must be given on a new line instead of following the brackets.

Örnek:

function denemeFonksiyonu($iSayi, $sIsim){

//kod

}

Yapısal Dil Formatları

PHP diline özgü blok kodları (for, while, do.. while, foreach, if…else gibi), aşağıdaki kurallara uymalıdır.

Language structures such as if … else, for, foreach, while, etc. must be presented in the following manner:

  • Bu blokların, parantez ile blok kelimesi arasında bir boşluk olmalıdır.
  • Blok parantezleri, satır sonunda başlamalıdır.
  • İşlem kullanılması durumunda, işlem ile operantlar arasında boşluk bulunmalıdır

Örnek:

foreach ($aIsimler as $sAnahtar => $sDeger){

//Kod

}

switch yapısı

Bu yapı, kod okunabilirliği açısından kullanılmayacaktır. Bunun yerine if / else blokları kullanılacaktır.

Kod Ekleme Standartları

Kod eklemesi yapılırken, eklemenin ismi, kim tarafından eklendiği ve hangi proje kapsamında yapıldığı yorum satırı olarak kodun başına ve sonuna yazılır.

Örnek:

//Ekleme ismi, kodlayan, proje ismi.//

Kod();

//[Bitti] Ekleme ismi//

Ekleme işlemi yapılmadan önce, orijinal dosyanın yedeği alınmalı ve ekleme işlemi, kopya dosya üzerinde yapılarak orijinal kod saklanmalıdır.

Database Tables

Veri tabanından dosya oluşturulması gerektiği durumlarda, proje ismi ve eklenen modül ismi ön ek olarak konulmalıdır.

Örnek

OPModIsmi_Kullanicilar

Yorumlar

  1. Batuhan

    Selamlar,

    Deve İsimlendirmesi başka kaynaklarda “ilk kelimenin ilk harfi küçük, sonra gelen kelimenin ilk harfi büyük” şeklinde yazıyor. ÖR: degiskenIsmi

    Fakat yukarıda deve isimlendirme için DenemeBasligi seklinde yazılmış ve tanımında da Pascal İsimlendirmenin tanımı yazılmış.

    http://blogs.msdn.com/b/brada/archive/2004/02/03/67024.aspx
    http://cplus.about.com/od/learnc/ss/csharpclasses_5.htm

    İyi Günler…

    http://www.batuhanbayrakci.com

  2. Şadi Evren ŞEKER Article Author

    Camel notation(deve isimledirmesi), kelime olarak deve analojisinden gelmektedir. Yani, devenin hörgücünün yüksek ve alçak olması gibi, kelimelerin büyük ve küçük harfle yazılması kastedilmektedir.

    Yazıda görüldüğü üzere, sizin bahsettiğiniz yazım, fonksiyon isimlerinde kullanılmıştır (yani ilk harfin küçük olması durumu). İlk harfin büyük olması durumu ise sınıf isimlerinde kullanılmıştır.

    Örneğin yukarıda bir sınıf ismi için önerilen isim:
    BuBirSınıfİsmidir şeklinde büyük ve küçük harflerden oluşurken, bir değişken :
    buBirDeğişkenİsmidir şeklindedir.

    Ben ikisinide kelimelerin ilk harfleri büyük, diğer harfleri küçük olduğu için deve isimlendirmesi olarak sınıflandırmıştım. Belki bu konuda kesin bir sınıflandırma vardır. Yani deve isimlendirmesi, sadece ilk harfin küçük olmasını zorluyor olabilir. Bu konuya dikkat çektiğiniz için teşekkür ederim.

  3. mert

    Benimde bildiğim kadarıyla deve isimlendirmesi ayrı sizin örnekteki isimlendirme ayrı. Deve isimlendirmesini estetik açıdan güzel bulmasamda shift tuşundan kazandırıyor.

    Konumuzla alakalı mı olucak bilmem ama merak ettiğim birşey var.
    Ben uzun bir süredir ticari program geliştiriyorum, kullandığım diller delphi, visual basic ve şimdilerde c#. C++ ile henüz ticari bir program geliştirmedim çünkü benden istenmedi (Türkiyedeki sektörde de pek rastlamadım). Merak ettiğim konu c++ dili ticari program yazarken arayüzünü hangi kütüphanelerden alıyor (MFC diye bişi görmüştüm) ve c++ denildiği zaman akla neden hemen siyah konsol ekranı geliyor. Linux ortamı için MFC işe yaramaz herhalde.

    Teşekkürler.

  4. Şadi Evren ŞEKER Article Author

    C++ dili herhangi bir arayüzü doğrudan sunmaz. C++ dilinin özelliği, sadece belirli standartları ortaya koymasıdır. Bu yüzden onlarca farklı firma onlarca farklı derleyici ve kod geliştirme ortamı sunmuştur. Bu ortamların hepsinde, temel aynı olmak üzere bazı farklılıklar bulunur.

    Örneğin Unix ortamı için motif veya linux ortamı için X server üzerinde kod yazılabilir. X server üzerinde GTK veya QT kütüphaneleri bulunuyor.

    Windows için sizin de bahsettiğiniz üzere MFC kullanılabilir.

    Ya da bütün bunlardan vaz geçip örneğin 3 boyutlu programlama için openGL kütüphanesini kullanabilirsiniz.

    Aslında geliştirme yapılan ortama göre bir editör ve derleyici seçilmesi çok daha doğru olur.

    Kısacası C++ bir dil standardıdır ve yukarıda sayılanlar bu dil üzerindeki kütüphanelerdir. Bunlar kullanılmadığı zaman sizin de bahsettiğiniz üzere siyah konsol ekranı en güvenilir arayüzdür 🙂

    başarılar

  5. Hatice

    Merhaba benim bir sorum olucaktı :

    Birisi bağlantılı liste ve diğeri ise bağlantılı liste kullanılarak yapılan yığını kullanarak iki soyut veri yapısı tanımlayınız ve programlarını (temel işlemler dahil) yapınız? Bağlantılı listenin ve yığının her bir düğümünde öğrencinin numarası, adı, soyadı ve bölümü bilgileri tutulacaktır.

    acaba bu konuyla ilgili kaynak kod elinizde varmı yardımcı olursanız çok sevirim. İyi çalışmalar

Şadi Evren ŞEKER için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir