Temiz Kod (Clean Code) Nedir ?
Her yazılımcı elbette temiz kodlarıyla hatırlanmak ister. Diğer geliştiricilerin kodlarını incelerken de kendini şaşırtacak kodlar görmek ister. Temiz kod, yazdığınız kodun diğer yazılımcılar tarafından da kolay okunması, anlaşılması, üzerinde rahatlıkla geliştirme yapabilmeleridir. Düşünülenin aksine temiz kod yazmanın çok katı kuralları yoktur. “Temiz Kod” kavramı Robert Cecil Martin’in “Clean Code: A Handbook of Agile Software Craftsmanship” adlı kitabında bu kavramdan ve kavramın ilkelerinden bahsetmesiyle popüler olmuştur ama tabi ki “Temiz Kod” daha önceye dayanır.
Bir kodu temiz kod olarak tanımlamamız için; okunabilir (Readability), değiştirilebilir (Changeability), genişletilebilir (Extensibility) ve sürdürülebilir (Maintainablility) prensiplerine uyması gerekir.
Temiz Kod’un Avantajları
- Projede bir değişiklik istenmesi durumunda, gerekli değişiklikler hızlıca eklenebilir.
- Sorunları denetlemek, düzeltmek ve projenin devam etmesini sağlamak çok daha kolaydır.
- Bir hata ile karşılaşıldığında kodda bulunan hatalar kolayca tespit edilir.
- Temiz kodun bakımı çok kolaydır.
- Yöntemler öngörülür.
- Temiz kod sayesinde iyi belgelenmiş API‘ler bulunur.
- Eski kodla çalışırken oluşabilecek sorunları önler.
- Daha az çabayla kod yeniden düzenlenir.
- Temiz kodun okunması kolaydır.
- Temiz kod, test edilmiştir. Güvenli ve tamamen işlevseldir.
- Maliyet ve zaman tasarrufu sağlar.
Neden Kötü Kod Yazarız?
Kötü kod yazmamızın başlıca birçok sebebi olabilir; İşin bitmesi için acelenizin olması, zamanın az olması, işten bıkmış olmanız, çalışan bir kod parçasını değiştirmek istememeniz, çok fazla işinizin olması ve dahası. Herkes bu şekilde kod yazmış olabilir ama burada önemli olan kodu temizlemeyi çok daha sonraya ötelememektir.
Temel Olarak Temiz Kod Nasıl Yazılır?
1. İsimlendirme Yaparken Dikkatli Olun
Temiz kod yazarken her yazılımcının değişkenleri anlamasını sağlayan kurallar oluşturmak ve bunları not almak ilk ve en önemli adımdır. Burada dikkat edilmesi gereken konu, herkese uyan tek bir yaklaşımın olmamasıdır. Herkes kendi sistemini bulmalıdır. Ekipçe çalışırken, temiz kod oluşturmak için tüm ekip üyelerinin anlayabileceği bir kural oluşturmak gerekir.
- Tek karakterli değişkenler kullanmayın.
- Değişken isimlerini kısaltmayın.
- Tutarlı olun.
- Değişken tanımlama tiplerine sadık olun. (camelCase, PascalCase, snake_case, kebab-case)
- Aradığınızda kolay şekilde bulunacak kelimeler seçin.
- Açıklayıcı ve net isimler seçmeye özen gösterin.
- Adlandırma yaparken anlamlı ayrımlar oluşturun.
- Telaffuzu kolay isimler kullanmaya gayret edin.
2. Fonksiyonları Basit Hale Getirin
Temiz kodun bir diğer aşaması, fonksiyonları küçük ve anlaşılır olacak şekilde basitleştirmektir. Bu işlevlerin, ne yaptığını ve amacını açıklayan bir ismin de konulması gerekir.
- Fonksiyonları kısa bir adla özetleyin.
- Gerektiği durumlarda bir işlevi birden çok işleve ayırın. Uzun ve karışık isimler, kodun bulunmasını zorlaştırır.
- Komut ve sorgu işlevleri farklı işlevler olmalıdır. Yani aynı işlevi hem komut hem de sorgu işlevi yapmayın.
- Bağımsız değişken sayısını sınırlayın.
3. Yorum Satırını Gerekli Yerlerde Kullanın
Yorum satırı, bir kod satırının ne yaptığını açıklamak için değil, bir kod parçasının neden oluşturulduğunu açıklamak için olmalıdır. Kurallar ve işlevler iyi adlandırılmışsa yoruma gerek kalmayabilir. Yani her kod satırı için yorum oluşturmak her zaman için gerekli olmayabilir. Gereksinim duyulabilecek durumları önceden tahmin etmek gerekir. Gereksiz yorum eklemek geliştiricinin zaman kaybetmesine neden olabilir.
- Bir davranışı açıklamak için yorum kullanmayın.
- Yorumların doğruluğunu kontrol edin ve güncellemeyi unutmayın.
4. Test Edin
Temiz kod yazmak için bir diğer önemli konu, testtir. Test etmek, kodu geliştirmeye katkı sağlar.
- Aynı anda birden fazla kavramı değerlendirmeyin.
- Eski kodları test etmeyin.
- Testleri basit ve tekrarlanabilir olacak şekilde oluşturun.