İçeriğe geç
parazade

Temiz Kod Nedir?

İngilizce: Clean Code

Yayın: · Son güncelleme:

Temiz Kod Nedir? Kısaca

Temiz kod (clean code), başka bir geliştiricinin kolayca okuyup anlayabileceği, değiştirebileceği ve test edebileceği biçimde yazılmış koddur. Anlamlı isimler, küçük ve tek işe odaklı fonksiyonlar ve gereksiz karmaşıklıktan uzak bir yapı temel özellikleridir.

Temiz Kod nedir?
İçindekiler
  1. Temiz kod nedir?
  2. Temel ilkeler
  3. Nereden başlamalı?

Temiz kod nedir?

Temiz kod, makine için değil insan için yazılmış koddur. Bilgisayar her türlü kodu çalıştırır; asıl zorluk, altı ay sonra o kodu okuyan kişinin ne olduğunu anlayabilmesidir. Bu kişi çoğu zaman siz olursunuz.

Kavram, Robert C. Martin'in "Clean Code" kitabıyla yaygınlaştı. Ama özü basittir: kod, ne yaptığını kendisi anlatmalıdır.

Temel ilkeler

Birkaç kural günlük işte büyük fark yaratır.

İsimler anlam taşısın. d yerine gecenGunSayisi, liste2 yerine aktifMusteriler yazın. Fonksiyonlar küçük olsun ve tek bir iş yapsın; "ve" kelimesi olmadan anlatamadığınız bir fonksiyon muhtemelen iki iş yapıyordur. Tekrar eden kodu bir yerde toplayın, bu DRY prensibi olarak anılır.

Küçük bir dönüşüm örneği:

if (k.y > 17 && k.u == 1) { ... }

Bu satır, if (kullanici.resitMi() && kullanici.uyelikAktifMi()) hâline getirildiğinde yorum satırına gerek kalmadan okunur. Davranış aynıdır, anlaşılırlık değişir.

Nereden başlamalı?

Bir projede her şeyi bir anda temizlemeye çalışmayın. "İzci kuralı" olarak bilinen yaklaşımı benimseyin: bir dosyaya dokunduğunuzda onu bulduğunuzdan biraz daha temiz bırakın.

Ekip içinde ortak kurallar belirleyin ve bir linter ile otomatik kontrol edin. Kod incelemelerinde okunabilirliği de konuşun. Temiz kodun amacı mükemmellik değil, bir sonraki değişikliği kolaylaştırmaktır.

Sıkça Sorulan Sorular

Temiz kod yazmak işi yavaşlatır mı?

İlk yazımda biraz daha düşünmek gerekir. Ancak kod okunduğu ve değiştirildiği için, yazım süresinin çok üstünde bir süre okumaya harcanır. Temiz kod bu toplam süreyi azaltır.

Clean Code kitabını okumak şart mı?

Şart değildir ama yararlı bir kaynaktır. Bazı önerileri tartışmaya açıktır, bu yüzden kuralları körü körüne uygulamak yerine ekibinizin ihtiyaçlarına göre uyarlamak daha sağlıklıdır.

İlgili terimler

RefactoringRefactoring (yeniden düzenleme), yazılımın dışarıdan görünen davranışını değiştirmeden kodun iç yapısını daha okunur, sade ve bakımı kolay hâle getirmek için yapılan düzenlemelerdir. Yeni özellik eklemek ya da hata düzeltmek değildir.DRY Prensibi(DRY Principle)DRY prensibi (Don't Repeat Yourself), yazılımda her bilginin ya da iş kuralının tek bir yerde tanımlanması gerektiğini söyleyen ilkedir. Aynı mantığın birden fazla yere kopyalanmasını önleyerek bakımı kolaylaştırır.KISS Prensibi(KISS Principle)KISS prensibi (Keep It Simple, Stupid), sistemlerin gereksiz karmaşıklıktan arındırılıp olabildiğince basit tasarlandığında en iyi çalıştığını söyleyen ilkedir. Yazılımda sade çözümleri, karmaşık ve gösterişli çözümlere tercih etmeyi önerir.Fonksiyon(Function)Fonksiyon, programlamada belirli bir işi yapan, isim verilmiş ve gerektiğinde tekrar tekrar çağrılabilen kod bloğudur. Girdi olarak parametre alabilir ve geriye bir değer döndürebilir.MySQLMySQL, verileri tablolarda saklayan ve SQL diliyle yönetilen açık kaynak kodlu bir ilişkisel veritabanı yönetim sistemidir. Web sitelerinde, özellikle WordPress gibi PHP tabanlı sistemlerde çok yaygın kullanılır.NoSQLNoSQL, verileri sabit tablolar yerine doküman, anahtar-değer, sütun ailesi ya da graf gibi esnek yapılarda saklayan veritabanlarının genel adıdır. Adı "Not only SQL" (yalnızca SQL değil) olarak yorumlanır.