Temiz kod yazmanın önemi, en çok geniş kapsamlı ve büyük eklentilerde karşımıza çıkıyor. Ben Jailbreak üzerine eklentiler geliştirdiğim için karşılaştığım bu tarz etkinlikler jbmenu, ctmenu veya amxsuper vb oluyor. Bir jbmenüyü ele alacak olursak; birçoğumuz başlayıp yarıda bırakıyoruz, tamamlayıp sorunsuz bir şekilde paylaştıklarımızın sayısı çok az, sürüm güncelleştirmeleri az sayıda ve uzun zamanda gerçekleşiyor... Bu tarz sonuçlara her ne kadar diğer sebeplerin etkisi olsa da en büyük sebep temiz kod yazmamamızdır. Eklentilerimizi temiz bir şekilde çıkardığımızda sadece bize değil kodu inceleyen, geliştirmek isteyen herkese büyük katkı sağlayacaktır. Peki nasıl temiz kod yazabilirim diyorsanız hiç durmadan aynı hızla okumaya devam edin.
Bölüm - 1 : Anlamı İsimlendirme
"İyi isim seçmek zaman alır, ancak uzun vadede daha çok zaman kazandırır."
Sanırım birçoğumuz yaşamıştır. Herhangi bir eklentiyi veya kodu açarız. Daha kodun ilk satırlarındayken değişkenin ne işe yaradığını çözmeye çalışırız. Aynı durum fonksiyonlar için de geçerli hem de daha kötü haliyle. Peki nasıl mı ? Fonksiyonun amacını, işleyiş mantığını çözerek anlarız. Oysa anlamlı bir isim verilmiş olsaydı hem zamanımız boş yere gitmemiş olacaktı hem de boşa kafa yormayacaktık. Gelin örneklerle konuyu daha detaylı bir şekilde ele alalım.
Kod: Tümünü seç
new x;
Kod: Tümünü seç
new x; // Bir raundun süresi
Kod: Tümünü seç
new roundTime;
new roundSuresi;
Yine en çok yapılan hatalardan biri de sayi1,sayi2 ... tarzı isimlendirmeler. Buna örnek olarak da iki değişkenin değerleri arasında bir swap yani takas işlemini verebiliriz. Burada izleyeceğimiz yol: İlk sayının değerini geçici bir değişkende tut. İkinci sayıyı, ilk sayının içine al. Geçici olarak tuttuğum sayıyı da ikinci sayının içine al. Şeklindedir. Bu iki sayıyı isimlendirirken kaynak, hedef tarzında isimlerin verilmesi daha kullanışlı olacaktır.
Kod: Tümünü seç
new kaynak = 5;
new hedef = 10;
new gecici = kaynak;
kaynak = hedef;
hedef = gecici;
Kod: Tümünü seç
public sayiTakas(kaynak, hedef) {
new gecici = kaynak;
kaynak = hedef;
hedef = gecici;
}