Kural
Yap bir fonksiyonun amacı açık ve net
İşlev adları açıkça açıkça ifade ne ne işlev
ne ne okuyucuya okuyuculara incelemelerini incelemelerini uygulamayı uygulamayı
Desteklenen diller: 45+Giriş
Amacını ortaya koymayan işlev adları, geliştiricileri davranışını anlamak için uygulamanın tamamını okumaya zorlar. Adı process() veya handle() herhangi bir işlevi yerine getirebilir; gerçek amacını anlamak için zihinsel çaba gerektirir. Şu gibi açık ve açıklayıcı isimler: validateUserEmail() veya calculateOrderTotal() Niyeti derhal açıkça belirtmek suretiyle kodun kendi kendini açıklamasını sağlamak.
Neden önemli?
Kodun bakım kolaylığı: Belirsiz fonksiyon adları, kodun anlaşılmasını zorlaştırır. Geliştiriciler, iş mantığına odaklanmak yerine fonksiyonların ne işe yaradığını anlamak için kodları okumakla zaman kaybederler. Bu durum, aylar sonra koda geri dönüldüğünde veya yeni ekip üyeleri katıldığında daha da belirgin hale gelir.
Yanlış kullanım: Belirsiz fonksiyon adları, yanlış kullanım olasılığını artırır. Adı update() doğrulama, dönüştürme, kalıcı hale getirme veya bildirim işlevleri görebilir; bu da, adın davranışı açıkça belirtmemesi nedeniyle geliştiricilerin onu yanlış kullanmasına yol açabilir. Anlaşılır adlar, kısıtlamaları ve yan etkileri belgelendirerek yanlış kullanımı önler.
Kod örnekleri
❌ Uygun değil:
function process(data) {
const result = data.map(item => ({
...item,
processed: true,
timestamp: Date.now()
}));
db.save(result);
notifyService.send(result);
return result;
}
Neden yanlış: Adı process() Verilere ne olduğu konusunda hiçbir bilgi vermez. Okuyucular, fonksiyonun öğeleri dönüştürdüğünü, veritabanına kaydettiğini ve bildirimler gönderdiğini anlamak için kodun uygulamasını incelemek zorundadır. Fonksiyonun yan etkileri ve sorumlulukları gizlidir.
✅ Uygunluk:
function markItemsAsProcessedAndSave(data) {
const processedItems = data.map(item => ({
...item,
processed: true,
timestamp: Date.now()
}));
db.save(processedItems);
notifyService.send(processedItems);
return processedItems;
}
Bunun önemi: Ad, işlevin öğeleri işlenmiş olarak işaretleyip kaydettiğini açıkça belirtir. Okuyucular, işlevin kodunu okumadan bile işlevin temel amacını hemen anlar. Ad, yan etkilere (veritabanına kaydetme) işaret ederek uygun beklentiler oluşturur.
Sonuç
İşlev adları, kod incelenmesine gerek kalmadan “bu ne işe yarar?” sorusuna yanıt vermelidir. Eylemleri tanımlayan fiiller ve hedefleri tanımlayan isimler kullanılmalıdır. Bir ad çok uzun hale gelirse, işlev muhtemelen çok fazla işlev görüyor demektir ve bölünmelidir.

