Temiz Kod (Clean Code) Prensipleri – 1 : KISS, DRY, YAGNI

Bu başlık altında diğer prensiplere de değinmek istiyorum ama önce bu 3 lüden başlamak istedim..

Temiz Kod (Clean Code) kavramı Robert Cecil Martin (Namıdiğer Bob Amca) tarafından yazılmış “Clean Code” kitabı ile ortaya çıkmıştır. Temiz kod, dile özgü kurallara dayanmaz. Bunun yerine geliştirici topluluğu tarafından kabul edilen dilden bağımsız ilkelere dayanır. Bu ilkelere dikkat ederek geliştirme yaparsak kodun anlaşılabilirliği üst seviyede olacak ve proje büyüdükçe kodlar karmaşık bir hal almayacaktır. Bu da projeye sonradan dahil olan yazılımcılar için büyük kolaylık sağlayacak bunun yanı sıra motive edici de olacaktır. Çünkü bu prensipleri uygulayan bir yazılımcı için spagetti kod içerisinde çalışmak ona işkence gibi gelecektir. Ayrıca yazılımcı, verilen taskı yaparken çeşitli sorunlarla karşılaşıp kodu refactor etme ihtiyacı duyabilir. Bu durumların önüne geçmek ve ekstra zaman/maliyetlerin ortaya çıkmasını önlemek için mutlaka temiz kod yazılmasına dikkat edilmelidir.

KISS : Keep It Simple, Stupid

Yazılım tasarımı ve geliştirmede basitliğin önemi vurgulanmaktadır. Karmaşık çözümlerden uzak durulmalıdır. Oluşturduğumuz metot veya değişken isimlerinin de anlaşılır olması kodun daha okunaklı olmasını sağlayacaktır.

DRY : Don’t Repeat Yourself

Tekrarlayan kod bloklarınız olmamalı. Kodun anlaşılabilirliği zamanla zorlaşacaktır. Değişiklik yapmanız gerektiğinde tekrarlayan her yerde kodu düzenlemeniz gerekecektir ki bu da kabul edilebilir bir durum değildir. Tekrarlayan kod bloklarını birleştirerek sadeleşmesini sağlamalıyız. Bu prensip kod bakımının kolaylaşmasını ve zamandan tasarruf etmenizi sağlayacaktır.

YAGNI : You Aren’t Gonna Need It

Bir geliştirme gerekliyse yapılmalıdır, sizden istenmeyen şeyleri geliştirmemelisiniz. Gereksiz özellik geliştirmesi aynı zamanda karmaşıklığa da neden olacaktır. Bu duruma düşmemek için ihtiyaç olan geliştirmeler yapılmalıdır.

Bu yazıda temiz kod ile ilgili birkaç prensibe değindik.
İkinci bölümde görüşmek üzere 🙂

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir