JavaScript'te Clean Code (Temiz Kod) Nedir?

Temiz kod (clean code), yazılım geliştirme sürecindeki en temel prensiplerden biridir ve kodun daha okunabilir, anlaşılabilir, bakımı kolay ve hata ayıklamasının daha verimli olmasını sağlar. Clean code yazma konusunda temel alınan prensipler arasında şunlar yer alır:

1. Anlaşılır İsimlendirme Kullanma

Değişkenler, fonksiyonlar, sınıflar ve diğer yapıların isimlendirilmesinde anlaşılır, açıklayıcı ve tutarlı isimlendirmeler kullanılmalıdır.

// İyi
let kullaniciAdi = 'ahmet';

// Kötü
let x = 'ahmet';

2. Kısa ve Okunabilir Fonksiyonlar ve Metotlar Oluşturma

Fonksiyonlar ve metodlar, tek bir işlevi yerine getirmeli ve kısa olmalıdır. İşlevlerin adları ne yaptıklarını anlatmalı ve isimlendirilmelidir.

// İyi
function hesaplaKarekök(sayi) {
    return Math.sqrt(sayi);
}

// Kötü
function func(s) { return Math.sqrt(s); }

3. Kod Tekrarını Engelleme

Aynı kod bloklarını tekrar tekrar yazmak yerine, ortak işlevleri ayırarak ve yeniden kullanılabilir yapılar oluşturarak kod tekrarını engelleyin.

// İyi
function hesaplaAlan(yaricap) {
    return Math.PI * yaricap ** 2;
}

// Kötü
let alan = Math.PI * r ** 2;

4. Comment Kullanımı

Kodunuzu açıklamak ve diğer geliştiricilere ya da kendinize daha sonra hatırlatmak için yorumlar ekleyin. Ancak kodun ne yaptığı açık olmalı ve gereksiz yorumlar eklenmemelidir.

// İyi
// Diziyi ters çevir 
function tersCevir(dizi) {
    return dizi.reverse();
}

// Kötü
// Bu kısım işe yarıyor
function func(arr) {
    // logic here
}

5. Düzenli ve Belli Bir Stile Uyma

Kodunuzu düzenli ve belli bir stile (örneğin, K&R, Prettier vb.) uygun olacak şekilde yazın. Bu, kodun tutarlı görünmesini sağlar.

// İyi
if (kosul) {
    // kod blokları
}

// Kötü
if(kosul){
// kod blokları
}

6. Unit Testler ve Hata Ayıklama

Kodunuzu test ederek hataları erken aşamada yakalayın ve yazdığınız fonksiyonların doğru çalıştığını garanti edin.

// Test işlevi
function testHesaplaKarekök() {
    assert.equal(hesaplaKarekök(16), 4);
}

Clean code yazma prensiplerini benimseyerek, hem kendi işlerinizi hem de diğer geliştiricilerin işlerini kolaylaştırabilir ve daha etkili bir kod yazma sürecine sahip olabilirsiniz.