Clean Code Nedir? Dart Dilinde Clean Code

Egemen TURK
Flutter Students Club
3 min readJan 25, 2022

Merhabalar,

Bu yazıda Clean Code nedir ve Dart’ta Clean Code nasıl yazılır buna bakacağız.

İlk olarak bir sözle başlamak istiyorum.

“Her aptal bilgisayarın anlayabileceği şekilde kod yazabilir. İyi programcılar insanların anlayabileceği kodlar yazar.”

-Martin Fowler

Clean Code nedir?

Clean Code temiz, anlaşılır ve bakımı kolay kod demektir, geliştirici dışındaki proje ekibinin kodu kolay bir şekilde anlaması, geliştirme ve bakım yapabilmesidir. Kısacası herhangi bir insan koda baktığı zaman kitap okuyormuş hissi vermelidir. Ayrıca Clean Code sadece ekip çalışmalarında değil kişisel olarak çalıştığınız proje büyüdüğü zaman ya da önceden yazdığınız projeyi gözden geçirirken de çok büyük yardımı dokunur.

Başlıca özellikleri şunlardır;

  • Readability (Okunabilirlik)
  • Changeability (Değiştirilebilirlik)
  • Extensibility (Genişletilebilirlik)
  • Maintainability (Bakım Kolaylığı)

Clean Code nasıl yazılır?

A1. Anlamlı Değişken İsimleri Verin

Bir değişken ismi yorum gerektiriyorsa, yorum yazmak yerine o değişkeni yeniden adlandırmak için zaman ayırmalısınız. Değişken isminiz değişken hakkında her şeyi anlatmalı:

A2. Gereksiz Kelimeler Kullanmayın

İsimlendirme aşamasında gereksiz kelimelerden kaçın. Örnekte olduğu gibi veri tiplerini değişken isimlerinde belirtmeye gerek yoktur.

A3. Okunabilir ve Aratılabilir İsimler Verin

Verdiğiniz isim okunabilir ve aratılabilir değilse hem siz hem de ekip arkadaşlarınız için ileride anlam kargaşası veya yanlış değişken kullanımı gibi sorunlar yaşayabilirsiniz.

B. Fonksiyonlar

“Fonksiyonların tek görevi olmalıdır. Bunu iyi yapmalılar. Bunu sadece onlar yapmalıdır. “

— Clean Code

Fonksiyonların aşağıdaki özellikleri barındırması Clean Code için gereklidir;

  • Kısa olmalı
  • Fonksiyon ismi açıklayıcı olmalı ve fiil kullanılmalı
  • Tek iş yapmalı
  • Parametreleri az olmalı
  • Sonradan kendini tekrar ettirmemeli

C. Gerektiğinde Yorum Satırı Kullanın

  • Yorum satırı boş olmamalı
  • Kısa ve açıklayıcı şekilde kodu anlatmalı
  • Yorum satırına kod eklenmemeli

Yazdığınız kodu sonradan kullanan kişi için rehber niteliğinde yorum satırı yazabilirsiniz;

Ekip arkadaşınız hazırladığınız fonksiyonu kullanmaya çalıştığı zaman yazdığınız rehberi görecektir. Böylece yazdığınız fonksiyon kullanılırken nasıl ve ne şekilde kullanılacağına dair fikir sahibi olur.

D. Tekrar Kullanılabilir Widgetlar Yazın

  • Herhangi bir değişiklikte zaman kazandırır
  • Görsel karmaşıklığın önüne geçilerek yazdığınız kod daha anlaşılır ve daha sade hale getirilir
  • Uygulamanın performansı için önemlidir

Projede Reusable Widget kullanımı hem performans için hem de ileri ki safhalarda her hangi bir widget içeriği değişikliğinde büyük kolaylık sağlar. CustomButton sınıfında sonradan içeriğini değiştirebileceğimiz ElevatedButton oluşturduk. Sayfamızda yeni Button’lar oluştururken artık tekrar aynı kodları yazmamıza gerek yok.

Artık Button’ları uzun uzun yazmadan sadece yazdığımız Class’ı çağırarak ve ihtiyaca göre özelliklerini değiştirerek Button’larımızı oluşturduk.

E. Klasörleme Yapısı

Klasörlemenin en büyük avantajı dosya çeşitleri arttıkça karmaşıklığın önüne geçmektir. Böylece her şey sınıflandırılmış olduğu için kolayca ulaşabilirsiniz.

F. Testler

  • Okunabilir olmalı
  • Hızlı olmalı
  • Tekrar kullanılabilir olmalı
  • Her testin tek görevi olmalı

Kısacası Clean Code istisnasız her projenizde olması gereken bir prensiptir. Başka makalelerde görüşmek üzere 👋

--

--