Temiz Kod (Clean Code) Nedir?

Caner Çakmak
4 min readApr 22, 2021

--

En basit şekilde temiz kod (clean code) kodun kendisini anlatabildiği , temiz ve düzenli , basit ve karmaşıklıktan uzak kodlardır. Görünüşte basit olmasına rağmen bir kodda basitliği sağlamak en karmaşık işlerden biridir. Bir kod yazılımcıların gözünde iyi veya kötü olarak iki başlık altında incelenebilir. Peki bu yazılan kod neye göre iyi neye göre kötü olur.

Kötü Kod Nedir ve Kodumuz Neden Kötü Koda Dönüşür ?

Bunu öğrenmek için kendi kodumuzu sorgulamalıyız ve kendimize şu soruları sorabiliriz:

· İyi bir kod yazmak için yeterli zamanım mı yok ?

· Kodu hızlı mı yazmak istiyorum ?

· Aynı kodları yazarken sıkılıyor muyum ?

· Erken bitirmem için patronum beni zorluyor mu ?

Bu gibi sorularla kodumuzdaki karışıklıkların sebebini anlayabiliriz. Peki kodumuz nasıl daha iyi bir kod haline gelir.

İyi Kod Nedir ve İyi Kod Nasıl Yazılır?

Öncelikle bir kod her zaman olabildiğince basit olmalıdır. Basitlik bir kod için en önemli anahtardır. Bunu yanında karmaşıklıktan uzak olması için değişken isimleri , kod içindeki fonksiyonlar, yorum satırları gibi şeylere dikkat ederek basit ve temiz bir kod yazmak mümkündür. Peki bunu nasıl yapabiliriz:

§ Değişkenleri İsimlendirme

Değişken isimlendirme yaparken en önemli faktör değişkeni açıklayan bir isim vermektir. Bu şekilde isim vermek kod içinde hem bakımı kolaylaştırır hem de kod içindeki karışıklığı önler. Hatta kod içindeki yanlışları değişken aratarak bulmak için de etkili bir yöntemdir. Örnek olarak bir değişkene “a” demek yerine “okunandeger” demek daha mantıklıdır. Hem aratması kolaydır hem de daha açıklayıcı bir isimdir. Ayrıca verilen bu isimlerin telaffuzunun da kolay olması daha iyidir.

Boolean isimlendirmesi sanki kullanıcıya doğru ya da yanlış sorusu soruyormuş gibi olmalıdır.

§ Fonksiyonlar

Fonksiyonlar bir programın organizasyonu için en gerekli şeylerden biridir. Fonksiyonun yaptığı işi ana fonksiyonda uzun uzadıya yazmak yerine tek bir satır kullanarak ayrı bir fonksiyon olarak yazmak hem görünüşü açısından hem de anlaşılması açısından daha etkili bir çözümdür. Fonksiyonlar kısa ve öz olmalıdır. Yani fonksiyonlarda kod tekrarları olmamalıdır. Fonksiyonlar bir şey yapmalıdır ve bu yaptıkları şeyi en etkili, en efektif şekilde yapmalıdır ayrıca yaptığı şey doğrultusunda bir ismi olmalıdır.

Fonksiyonların isimlendirilmesi

§ Yorum Satırları

Yazılan bir kod kendini anlatabilmelidir. Bir kodda ne kadar fazla yorum satırı varsa kod o kadar kötüdür çünkü yorum satırlarının amacı kodda ifade edemediğimiz noktaları anlatmaktır. Bir kodda çok yorum satırı olması da kötüdür hiç yorum satırı olmaması da kötüdür. Yorumlar bazen yararlı ve gerekli de olabilir. Mesela buna örnek olarak “//todo …” yorumlarını verebiliriz. Bu yorumlar eklenecek veya yapılacak şeyleri belirtmek için kullanılır.

Gereksiz bir yorum.
Kodun kendisini anlatması gereklidir.

§ Sınıflar

Bazen değişkenlerimizi gizli tutmak isteriz bu zamanlarda “protected” sınıflar iyi bir çözümdür. Sınıflar küçük olmalıdır ve çok fazla iş yapmamalıdır. Eğer bir sınıf için kısa ve içeriğe uygun bir isim bulamıyorsak bu sınıf çok fazla iş yapıyordur. Sınıflar değişen gereksinimlere karşı gelişime açık olmalıdır fakat değişime kapalı olmalıdır.

Kod okunurluğunu arttırmak için yukarıdaki gibi bir tanımlama kullanılmalıdır.

§ Koşullar

Boolean bir değeri koşul içerisinde tekrar “true” ya da “false” eşitlemek yerine aşağıdaki gibi bir kullanım çok daha iyidir.

Hatta elimizdeki değişkene sonucu aşağıdaki gibi direkt olarak bu boolean üzerinden atayabilir 8–9 satırlık bu kodu tek satıra kadar indirebiliriz.

§ Döngüler

İç içe “if” döngüleri bazen çok karmaşık olabilir. Hatta bazen hangi “if” yapısının hangi “else” yapısına denk geldiğini bile karıştırabiliriz.

Bir örnek vermek gerekirse;

1 numaralı satırda gereksiz bir yorum vardır.

2 numaralı satırda ise tanımlanan değişkenin adı değişkeni açıklamamaktadır.

6 numaralı satırda değişken adını “j” yerine “sayac” yazmak daha doğrudur bu sayede yorum satırına da gerek kalmaz.

8 numaralı ikinci satırda gereksiz bir yorum satırı vardır.

Eğer bunlar uygulansaydı örnek kodumuz temiz kod (clean code) olarak görülebilirdi.

--

--