Temiz Kod (Clean Code)

İsmet Kizgin
3 min readJan 5, 2024

--

Yazıma başlamadan önce ufak bir öneride bulunmak istiyorum. Robert Cecil Martin kaleme aldığı “Clean Code: A Handbook of Agile Software Craftsmanship” kitabını her yazılımcının okuması gerekiyor bence. Bu yazımda epey bir değineceğiz zaten kendisine.

Temiz Kod Nedir ?

Robert Cecil Martin’in temiz kod ile ilgili tanımı:

Bir işi başarmak için minimum çabayla yazılan kod. (Robert C. Martin)

Temiz kod, stabil çalışan bir kod olmanın ötesine geçen bir kavramdır. Temiz kodun temel hedefi, kodun okunabilirliğini artırmak ve bir ekibin veya geliştiricinin üzerine düşen görevi en iyi şekilde yerine getirmesine olanak tanımaktır. Lafın özü, temiz kod benim için doğru isimlendirme, dinamik kodlama ve test içeren koddur. Tabi bunun kararı bana düşmediği için asıl olana bakalım :).

Temiz Kodun Özellikleri

Anlaşılır ve Açıklayıcı

Temiz kod, adından da anlaşılacağı gibi anlaşılır olmalıdır. Değişken isimleri, fonksiyon isimleri, sınıf isimleri ve genel kod yapısı açık ve anlamlı olmalıdır. Eğer bir kodu açıklamak için yorum satırı eklenmesi isteniyorsa, o kodu tekrar gözden geçirmek gerekiyor.

Modüler

Kod, dinamik ve bağımsız modüllere bölünmelidir. Her bir modül bir görevi yerine getirmeli ve tek bir sorumluluğa odaklanmalıdır. Bir fonksiyonu uzun uzadıya yazmak yerine, onu küçük parçalara bölerek fonksiyonlar haline getirmek, daha sonra bu küçük parçaları birleştirerek daha büyük bir işlevi gerçekleştirmek daha uygun olacaktır.

Kullanılabilirlik

Temiz kod, tekrar kullanılabilir olmalıdır. Aynı veya benzer görevleri yerine getirmek için farklı projelerde kolayca kullanılabilir olmalıdır.

Test Edilebilir

Temiz kod, kolayca test edilebilir olmalıdır. Bu, hata ayıklama sürecini kolaylaştırır ve yazılımın güvenilirliğini artırır. Proje geliştirilirken birim testler yazmak, hem projenin kalitesini artırmak hem de geliştirme sürecini optimize etmek açısından önemlidir.

Etkili ve Verimli

Kod, etkili ve verimli bir şekilde çalışmalıdır. Gereksiz karmaşıklıklardan kaçınılmalı ve performans faktörleri göz önünde bulundurulmalıdır.

Temiz ve kötü kod örnekleriyle ilgili iki farklı kod örneği paylaşacağım. Bu örnekler aracılığıyla, temiz kod yazmanın önemini daha iyi anlayacağız.

Göreceğiniz gibi, kötü kod örneği okuması zor ve karmaşıktır.

Temiz kod örneğinde ise yazılımdan anlamayan biri bile fonksiyon ismine bakarak kodun işlevini anlayabilir.

Temiz Kod Yazma İlkeleri

Alt başlıkları basit bir şekilde anlatmaya çalışacağım; ancak tavsiyem, konuları daha detaylı bir şekilde araştırarak öğrenmeniz olacaktır.

DRY (Don’t Repeat Yourself)

Aynı kodun tekrarlanmasından kaçınılmalıdır. Tekrar kullanılabilir fonksiyonlar ve modüller oluşturarak kodun tekrarlanabilirliği azaltılmalıdır.

KISS (Keep It Simple, Stupid)

Kod, mümkün olduğunca basit ve anlaşılır olmalıdır. Karmaşık çözümlerden kaçınılmalı ve sadece gerekli karmaşıklık seviyesine odaklanılmalıdır.

YAGNI (You Ain’t Gonna Need It)

Gelecekte kullanılacağı düşünülen özellikler için şimdiden kod yazmaktan kaçınılmalıdır. Sadece mevcut ihtiyaçlara odaklanılmalıdır.

Open/Closed Principle

Bir sınıfın davranışını değiştirmek için sınıfın kodunu değiştirmek yerine, yeni davranışlar eklemek için sınıfın genişletilebilir olması prensibidir.

Temiz Kodun Önemi

Ekip Çalışması: Temiz kod, bir ekip içinde işbirliğini kolaylaştırır. Kodun okunabilir ve anlaşılır olması, ekibin birbirinin yazdığı kodu anlamasını ve üzerine çalışmasını kolaylaştırır.

Bakım Kolaylığı: Temiz kod, bakım süreçlerini kolaylaştırır. Kod üzerinde değişiklik yapmak veya hata ayıklamak, temiz kodla daha hızlı ve hatasız bir şekilde gerçekleşir.

Proje Sürekliliği: Yeni özellikler eklemek veya değişiklikler yapmak, temiz bir kod tabanında daha sorunsuz gerçekleşir.

Yorum Satırı Yazmak Önemli Mi ?

Yorum satırları, bir projede önemli bir rol oynar; ancak bir değişkenin, fonksiyonun veya sınıfın ne iş yaptığını açıklamak için sürekli olarak yorum satırları ekleniyorsa, bu kodun kötü yazıldığı anlamına gelir. Yorum satırları, özellikle karmaşık algoritmik durumlarda kullanılmalıdır.

Kısaca kodun sürekli olarak yorum satırları ile anlatılmaya çalışılması, genellikle kötü bir kod örneğidir ve geliştirme sürecinde zaman kaybına neden olabilir.

Sonuç

Temiz kod yazmak, yazılım geliştirmenin bir sanatıdır. İyi bir yazılım geliştirici, sadece çalışan kod yazmanın ötesine geçip, temiz, anlaşılır ve sürdürülebilir kodlar oluşturarak yazılımın kalitesini artırabilir. Temiz kodun ilkelerini benimsemek, yazılım geliştirme sürecinde başarılı ve etkili bir şekilde ilerlemenin anahtarıdır.

Yazımı okuduğunuz için teşekkür ederim, umarım sizin için yararlı olmuştur 🙂

İyi Çalışmalar…

Yararlı Olabilecek Kaynaklar

Yazılım Kalitesi

3 stories

--

--