Kodunuzu Daha Okunabilir ve Bakımı Kolay Hale Getirmenin 5 Temel İlkesi 
Selam dostlar! Bugün, kod yazarken hepimizin zaman zaman göz ardı ettiği ama uzun vadede en çok canımızı sıkan bir konuya değineceğiz: kod kalitesi ve okunabilirlik.
Şunu kabul edelim: Bir yazılımın ömrü boyunca, o kodu yazmaktan çok daha fazla zamanı onu okumak, anlamak ve değiştirmek için harcarız. İster tek başınıza çalışıyor olun, ister 50 kişilik bir ekibin parçası, yazdığınız kodun sadece çalışması değil, aynı zamanda anlaşılır olması da bir o kadar kritik.
Peki, bu "anlaşılır" kodu nasıl yazarız? İşte size bugünden itibaren uygulayabileceğiniz, projenizin geleceğini kurtaracak 5 temel ilke.
1. Anlamlı İsimlendirme: Değişken ve Fonksiyonlarınıza İsim Koyun, Etiket Değil!
Kod, bilgisayara yapması gerekeni anlatan bir talimatlar dizisidir, evet. Ama aynı zamanda insanlara da ne yaptığını anlatmalıdır. İsimlendirme, bu iletişimin en temel aracı.
2. Fonksiyonlar Tek Bir Şey Yapsın (Single Responsibility Principle)
Bu, belki de en önemli prensiptir. Bir fonksiyonun adına bakıp "Bu fonksiyon, bu işi yapıyor" diyebilmelisiniz. Eğer "ve" bağlacı kullanmanız gerekiyorsa ("veriyi al ve kaydet ve email at"), o fonksiyon muhtemelen çok fazla iş yapıyordur.
Küçük, odaklanmış fonksiyonlar:
3. Yorum Satırları "Neden"i Açıklasın, "Ne"yi Değil
Kötü yorum, kodu tekrar eden yorumdur. Kod zaten ne yaptığını söyler. Yorumlar, neden o şekilde yapıldığını açıklamalıdır.
4. Kodunuzu Düzenleyin: DRY (Don't Repeat Yourself) ve Düzen
Aynı kodu projenin farklı yerlerine kopyala-yapıştır yapıyorsanız, bir şeyler yanlış gidiyor demektir. DRY prensibi, bu tekrarı bir fonksiyon, sınıf veya modül haline getirip merkezileştirmenizi söyler. Bir değişiklik yapmanız gerektiğinde, sadece bir yeri değiştirirsiniz.
Ayrıca, ilgili kod parçalarını bir arada tutun. Bir fonksiyonun kullandığı yardımcı fonksiyonlar, onun yakınında olmalı. Dosyalarınızı ve klasörlerinizi mantıklı bir şekilde yapılandırın.
5. Tutarlı Bir Biçimlendirme (Formatting) Stili Benimseyin
Bu estetik bir kaygı değil, okunabilirlik meselesidir. Girintiler, boşluklar, süslü parantezlerin yeri... Tüm ekip aynı kuralları benimsemeli.
**Son Söz**
Bu ilkeler sihirli değnek değil, bir düşünme biçimi. İlk başta biraz yavaşlatabilir, "şu an çalışıyor, bırak böyle kalsın" dedirtebilir. Ama unutmayın, yazılım canlı bir organizmadır. Bugün yazdığınız koda, 3 ay sonra siz de dönüp bakacaksınız. O zaman, bu küçük özenin meyvelerini topladığınızı göreceksiniz.
Siz bu konularda neler yapıyorsunuz? Takım içinde kod kalitesini artırmak için hangi yöntemleri kullanıyorsunuz? Yorumlarda deneyimlerinizi paylaşın, hep birlikte öğrenelim!
Selam dostlar! Bugün, kod yazarken hepimizin zaman zaman göz ardı ettiği ama uzun vadede en çok canımızı sıkan bir konuya değineceğiz: kod kalitesi ve okunabilirlik.
Şunu kabul edelim: Bir yazılımın ömrü boyunca, o kodu yazmaktan çok daha fazla zamanı onu okumak, anlamak ve değiştirmek için harcarız. İster tek başınıza çalışıyor olun, ister 50 kişilik bir ekibin parçası, yazdığınız kodun sadece çalışması değil, aynı zamanda anlaşılır olması da bir o kadar kritik.
Peki, bu "anlaşılır" kodu nasıl yazarız? İşte size bugünden itibaren uygulayabileceğiniz, projenizin geleceğini kurtaracak 5 temel ilke.
1. Anlamlı İsimlendirme: Değişken ve Fonksiyonlarınıza İsim Koyun, Etiket Değil!
Kod, bilgisayara yapması gerekeni anlatan bir talimatlar dizisidir, evet. Ama aynı zamanda insanlara da ne yaptığını anlatmalıdır. İsimlendirme, bu iletişimin en temel aracı.
- Ne yapıyorsa onu söylesin: `d` yerine `daysSinceCreation`, `func1` yerine `calculateTotalPrice` kullanın.
- Kısaltmalardan kaçının: `usrPwd` ne kadar belirsiz değil mi? `userPassword` çok daha net.
- Boolean değişkenler soru sorar gibi olsun: `isActive`, `hasPermission`, `canEdit` gibi. True/False değeri okuduğunuzda anlam kazansın.
2. Fonksiyonlar Tek Bir Şey Yapsın (Single Responsibility Principle)
Bu, belki de en önemli prensiptir. Bir fonksiyonun adına bakıp "Bu fonksiyon, bu işi yapıyor" diyebilmelisiniz. Eğer "ve" bağlacı kullanmanız gerekiyorsa ("veriyi al ve kaydet ve email at"), o fonksiyon muhtemelen çok fazla iş yapıyordur.
Küçük, odaklanmış fonksiyonlar:
- Test etmesi kolaydır.
- Yeniden kullanılması kolaydır.
- Hata ayıklaması (debug) kolaydır.
- Okunması ve anlaşılması kolaydır.
3. Yorum Satırları "Neden"i Açıklasın, "Ne"yi Değil
Kötü yorum, kodu tekrar eden yorumdur. Kod zaten ne yaptığını söyler. Yorumlar, neden o şekilde yapıldığını açıklamalıdır.
JavaScript:
// Kötü Örnek: Kodu tekrar ediyor
let x = 10; // x'e 10 değerini ata
// İyi Örnek: Nedeni açıklıyor
let retryAttempts = 10; // Sunucu yanıt vermediğinde 10 deneme yapılacak (API dokümantasyonu §4.2'ye göre)
4. Kodunuzu Düzenleyin: DRY (Don't Repeat Yourself) ve Düzen
Aynı kodu projenin farklı yerlerine kopyala-yapıştır yapıyorsanız, bir şeyler yanlış gidiyor demektir. DRY prensibi, bu tekrarı bir fonksiyon, sınıf veya modül haline getirip merkezileştirmenizi söyler. Bir değişiklik yapmanız gerektiğinde, sadece bir yeri değiştirirsiniz.
Ayrıca, ilgili kod parçalarını bir arada tutun. Bir fonksiyonun kullandığı yardımcı fonksiyonlar, onun yakınında olmalı. Dosyalarınızı ve klasörlerinizi mantıklı bir şekilde yapılandırın.
5. Tutarlı Bir Biçimlendirme (Formatting) Stili Benimseyin
Bu estetik bir kaygı değil, okunabilirlik meselesidir. Girintiler, boşluklar, süslü parantezlerin yeri... Tüm ekip aynı kuralları benimsemeli.
- Girintileme (Indentation): Tutarlı olun, ister 2 boşluk ister 4 boşluk, hep aynısını kullanın.
- Satır Uzunluğu: Genelde 80-120 karakter arasında sınırlandırın. Uzun satırlar okumayı zorlaştırır.
- Biçimlendirme Araçlarını Kullanın: Prettier (JS/TS), Black (Python), dotnet format (C#) gibi araçlar bu işi sizin için otomatik yapar. Hayat kurtarıcıdır!
**Son Söz**
Bu ilkeler sihirli değnek değil, bir düşünme biçimi. İlk başta biraz yavaşlatabilir, "şu an çalışıyor, bırak böyle kalsın" dedirtebilir. Ama unutmayın, yazılım canlı bir organizmadır. Bugün yazdığınız koda, 3 ay sonra siz de dönüp bakacaksınız. O zaman, bu küçük özenin meyvelerini topladığınızı göreceksiniz.
Siz bu konularda neler yapıyorsunuz? Takım içinde kod kalitesini artırmak için hangi yöntemleri kullanıyorsunuz? Yorumlarda deneyimlerinizi paylaşın, hep birlikte öğrenelim!