Sayfalar

PHP Kodlama Standartları - 2


Sinif Isimleri

Kelime ayraci olarak buyuk harf kullanip kelimelerin devamini kucuk harfler getiriniz.
Bir ismin ilk karakteri buyuk harf olmalidir.
Alt cizgi kullanmayiniz (' _ ')

Aciklama

Degisik isimlendirme sekilleri arasindan yukarida belirtilen sekil buyuk bir cogunluk tarafindan verilen tavizler ve kullanislilik dengesi acisindan en iyi olarak benimsenmistir.

Ornek

class IsimBirIki
class Isim

Sinif Kitapligi (class library) Isimleri

* Isim boslugu/uzayi/alani (Name Space) kavraminin kullanimi iyice gelismekte oldugu icin farkli uretici ve gruplar tarafindan hazirlanmis kitapliklar arasinda sinif isimleri cakismasini onlemek icin bu Isim boslugu/uzayi/alani kavramindan yararlanmak gerekmektedir.
* Isim boslugu/uzayi/alani kullanmilmadigi zaman genelde sinif isimleri ozel bir string ile baslatilarak cakismalar onlenir. Genelde basa gelen bu string icin iki karakter yeterli olsa da daha uzun bir string de kullanilabilir.

Ornek

Serkan Hadi Ceylani'nin bir veri yapisi sinifinin ismi asagidaki gibi SHJ ile baslatilabilir:

class ShjLinkList
{
//kod buraya gelecek
}

Metod Isimleri

* Yukaridaki sinif isimleri ile ayni kurallar gecerlidir.

Ornek

class IsimBirIki
{
function DoIt() {} ;
function HataKontrolEt() {};
}

Sinif Degiskeni Isimleri (class attribute)

Sinifa ait (member) degisken isimleri 'm' karakteri ile baslamalidir.
'm' karakterinden sonraki kisim sinif isimleri ile ayni kurallara uymalidir.
'm' diger butun isim baslangiclarindan once gelir. Ornegin referans icin kullanilacak olan 'r' harfinden once gelmelidir.

Aciklama

* Isme 'm' ile baslamak metod isimleri ile meydana gelebilecek olasi bir cakismayi onler. Cogu zaman kullandiginiz metod ve degisken isimleriniz benzer olacaktir.

Ornek

class IsimBirIki
{
function VarAbc() {};
function ErrorNumber() {};
var $mVarAbc;
var $mErrorNumber;
var $mrName;
}

Metod Arguman Isimleri (method argument)

Ilk karakter kucuk harf olmalidir.
Ilk harften sonraki her yeni kelime baslangici sinif isimlerinde oldugu gibi buyuk harfle baslamalidir.

Aciklama

<*? Bu sayede hangi degiskenlerin fonksiyon cagrisi icinden geldigi anlasilir.

Ornek

class IsimBirIki
{
function StartYourEngines(&$someEngine, &$anotherEngine) {
$this->mSomeEngine = $someEngine;
$this->mAnotherEngine = $anotherEngine;
}

var $mSomeEngine;
var $mAnotherEngine;
}

Degisken Isimleri

* Sadece kucuk harflerden olusan isimler kullaniniz.
* '_' karakterini kelime ayraci olarak kullaniniz.

Aciklama

* Bu yaklasimda degiskenin yasam/erisilebilme alani (scope) acik olarak gorulebilir.
* Butun degisken cesitleri farkli olarak kullanildigi icin bunlari ayirdetmek kolaylasir.

Ornek

function HandleError($errorNumber)
{
$error = OsErr();
$time_of_error = OsErr->getTimeOfError();
$error_processor = OsErr->getErrorProcessor();
}

Referans Degiskenleri ve Sonuc Olarak Referans Veren Fonksiyonlar

* Referanslar 'r' karakteri ile baslamalidir.

Aciklama

* Referans tipleri arasindaki farklar belirginlesir.
* Sonuc olarak manipule edilebilir bir obje veren bir fonksiyon ile sonuc olarak modifiye edilemez bir obje veren ayni fonksiyonun ayirdedilmesi saglanir.

Ornek

class Test
{
var $mrStatus;
function DoSomething(&$rStatus) {};
function &rStatus() {};
}

Global Degiskenler

* Global degiskenler 'g' karakteri ile baslamalidir.

Aciklama

* Bir degiskenin erisim/yasam alaninin bilinmesi onemlidir.

Ornek

global $gLog;
global $grLog; // bu ornekte bir de referans icin 'r' karakteri var.

Tanimlanan Isimler ve Global Sabitler

* Globals sabit isimleri tamami buyuk harf ve '_' kelime ayraci kullanilarak yazilmalidir.

Aciklama

Global sabitlerin bu sekilde isimlendirilmeleri geleneksel bir yontemdir. Bunu kullanirken diger tanimlanmis global isimleri ve ENUM etiketleri ile karismamasina dikkat ediniz.

Ornek

define("A_GLOBAL_SABIT", "Merhaba Turkiye!");

Duragan (Static) Degiskenler 

* Duragan (Static) degisken isimleri 's' karakteri ile baslamalidir.

Aciklama

* Degiskenlerin yasam/erisim alanlarini bilmek onemlidir.

Ornek

function test()
{
static $msStatus = 0;
}

Fonksiyon Isimleri

* PHP fonksiyonlari icin C GNU tarzi tamami kucuk harf olup '_' karakterinin kelime ayraci olarak kullanildigi isimler kullanin.

Aciklama

* Bu kullanis sekli fonksiyon isimlerini diger butun sinif ile alakali isimlerden ayririr.

Ornek

function her_hangi_bir_fonksiyon()
{
}