(Kod Çalışıyor ≠ Kod İyi) ⚠️
Junior’ken kod yazmak biraz şuna benzer:
“Arabayı çalıştırdım, gerisi önemli değil.” 🚗💨
Senior’ken ise hedef şudur:
“Bu arabayı herkes sürebilsin, bozulduğunda tamiri kolay olsun.” 🔧
Bu yazı işte tam olarak o farkı anlatıyor.
1️⃣ Kötü Kod vs İyi Kod
“Aynı işi yaparlar, biri sinir eder” 😅
❌ Junior Tarzı Kod
function c(a, b, d) {
return a * b * d;
}
Bu Kod Neden Kötü?
c→ Ne bu? Çarpma mı, hesap mı, büyü mü? 🧙♂️a,b,d→ Matematik sınavı mı çözüyoruz?- 3 ay sonra sen bile hatırlamazsın
📌 Junior hatası:
“Ben şu an anlıyorum ya, yeter.”
✅ Senior Tarzı Kod
function calculateTotalPrice(price, quantity, taxRate) {
return price * quantity * taxRate;
}
Bu Kod Neden İyi?
- Fonksiyon adı → ne yaptığını söylüyor
- Parametreler → okurken hikâye anlatıyor
- Yorum yazmaya gerek yok
🧠 Senior refleksi:
Kod kendini anlatıyorsa, doğru yoldasın.
2️⃣ Clean Code: Gereksiz Satır = Gizli Tehlike 💣
❌ Fazlalıklı Kod
function isUserActive(user) {
if (user.isActive === true) {
return true;
} else {
return false;
}
}
Bu Kod Ne Yapıyor?
- Boolean kontrol ediyor
- Ama 5 satırda yaptığı işi 1 satırda yapabilir
Junior burada şunu düşünür:
“Net olsun diye böyle yazdım.”
Senior ise şunu düşünür:
“Gereksiz satır = gelecekte bug.”
✅ Clean Code Hali
function isUserActive(user) {
return user.isActive;
}
Ne Kazandık?
- Daha kısa
- Daha net
- Daha az hata ihtimali
📌 Altın Kural:
Kod uzadıkça değil, sadeleştikçe güçlenir.
3️⃣ Okunabilirlik: Kod Bilgisayar İçin Değil, İnsan İçin 👀
❌ Okunması Zor Kod
if(x>10&&y<5&&z!==null&&z!==undefined){
doSomething();
}
Bu kodu okurken:
- Gözler kısılır 👁️
- Beyin yorulur 🧠
- Debug zamanı kabusa döner 😵
✅ Okunabilir Kod
const isXGreaterThanTen = x > 10;
const isYLessThanFive = y < 5;
const hasZValue = z != null;
if (isXGreaterThanTen && isYLessThanFive && hasZValue) {
doSomething();
}
Bu Kod Neden Senior İşi?
- Her değişken bir mini açıklama
- Hangi şart bozuk → tek bakışta
- Log eklemek kolay
📌 Pratik İpucu:
Uzun if görüyorsan → parçala.
4️⃣ Debug Edilebilirlik: Hata Olacak, Panik Yapma 🐞
❌ Debug Kabusu
function getPrice(data) {
return data.order.price.total;
}
Bir gün bu fonksiyon patlar ve şunu görürsün:
Cannot read property 'price' of undefined
Ve o an:
“Hangi data? Neresi undefined?” 😐
✅ Debug Dostu Kod
function getPrice(data) {
if (!data || !data.order) {
console.error("Eksik data:", data);
return 0;
}
return data.order.price?.total ?? 0;
}
Ne Yaptık?
- Önce veri var mı kontrol ettik
- Log bıraktık
- Optional chaining ile patlamayı önledik
📌 Senior alışkanlığı:
Hataları saklama, görünür yap.
5️⃣ Magic Number: Sessiz Katiller 🧙♂️
❌ Magic Number
if (score > 85) {
grade = "A";
}
Soru bombardımanı:
- 85 neden?
- Kim koydu?
- Yarın 90 olursa ne olacak?
✅ Anlamlı Sabitler
const MIN_SCORE_FOR_A = 85;
if (score > MIN_SCORE_FOR_A) {
grade = "A";
}
Avantajlar
- Okuyan herkes anlar
- Değişiklik tek noktadan
- Kodun niyeti net
📌 Senior refleksi:
Sayı görüyorsan, adı olsun.
6️⃣ Fonksiyonlar: Küçük, Tek Amaçlı, Net 🎯
❌ Her Şeyi Yapan Fonksiyon
function handleUser(user) {
validateUser(user);
saveUser(user);
sendEmail(user);
logUser(user);
}
Bugün çalışır…
Yarın biri gelir sms ekler…
Sonra bir try/catch…
Derken fonksiyon çöker 😄
✅ Parçalanmış Yapı
function validateUser(user) {}
function saveUser(user) {}
function sendWelcomeEmail(user) {}
function logUserAction(user) {}
Neden Daha İyi?
- Test yazmak kolay
- Debug kolay
- Değişiklik güvenli
📌 Altın Cümle:
Bir fonksiyonun adı uzuyorsa, fazla iş yapıyordur.
7️⃣ Junior vs Senior Düşünce Farkı 🧠
| Junior | Senior |
|---|---|
| Çalışıyor | Anlaşılıyor |
| Hızlı yaz | Doğru yaz |
| Sonra düzeltiriz | Baştan temiz |
| Ben anlıyorum | Herkes anlasın |
8️⃣ Log Kültürü: Console.log Bile Bir Sanattır 🎨
❌ Anlamsız Log
console.log(data);
✅ Anlamlı Log
console.log("Order data before calculation:", data);
📌 İpucu:
Log’lar hikâye anlatmalı, dedikodu yapmamalı 😄
🎯 SONUÇ: Senior Kod = Daha Az Ego, Daha Çok Netlik ✨
Senior geliştirici:
- Akrobatik kod yazmaz
- “Ben bunu nasıl daha net anlatırım?” diye düşünür
- Hataları gizlemez, kontrol eder
Unutma:
Kod bir gün mutlaka değişir.
Değişmesi kolay olan kod, iyi koddur.

