Temiz Kod Hakkında

Temiz kod yani clean code okunabilir kod anlamına gelir. Temiz kod denildiği zaman işin içerisine birçok faktör giriyor. Bu faktörlerden temel dört tanesine bakacağız. Belirtilen gfaktörlerin dışında farklı bir başlık olarak değinilmesi gerekilen Solid Prensibleri vardır. Bir programcının kafasında Solid Prensibleri tam olarak oturduğunda programcı teknik anlamda çok iyi bir geliştiricidir denilebilir.

1- İsimlendirme

İsimlendirme her dilde farklı kurallara sahip olabilir. Dil’e ait kuralları aratırken örnek olarak ‘c# naming conventions’ şeklinde arama yapılabilir.

Hangi dilde olursa olsun metot, değişken veya programlamada yapacağımız isimlendirmelere dikkat etmemiz gerekmekte. Bir metot ismi verilirken o metotun ne iş yaptığını özetleyecek ancak yorum satırı kadar uzun olmayacak bir isim belitmek gerekmekte. İsimlendirme yaparken bir miktar uzunluğun olması problem değildir. Geçmiş dönemlerdeki yazılım dillerinin kullanıldığı sistemlerdeki ram miktarı çok kısıtlı olduğundan dolayı isimlendirmeler kısa yapılmıştır ancak günümüzde kaynaklar çoğaldığı için bu durumun dezavantajı ile karşılaşmamız mümkün değildir. Aynı şekilde değişken isimleride açıklayıcı olmalıdır. Kodu yazarken o an ne yaptığımızı bildiğimizden değişken ile alakalı problem yaşamayabiliriz ancak bir süre sonra yapılan iş ile alakalı anlam belirtmeyen değişken ismide okunabilirliği zor hale getirecektir.

İngilizcenin dil çekimi programlamaya daha uygun olduğundan promramlamada ingilizce kullanılır.

2-Fonksiyonlar

Metotlarımızı Solid prensibinin maddelerinden biri olan tek sorumluluk prensibine göre yazmalıyız. Bu prensibe göre bir fonksiyon sadece bir işi yapmalı yani tek bir sorumluluğu olmalıdır.

Metot içerisine yorumu satırı bırakmamalıyız. Yorum satırları sadece metotların başına eklenmelidir hatta intelicense’a destek olması için yazılmalıdır. Fonksiyon içerisine yazılan yorum satırı kodun okunurluğunu zorlaştırır. Fonksiyonun içerisindeki operasyonların, değişkenlerin v.b ne yaptığını açıklamak için yorum satırı yani comment yazılmaz.

Metotlar çok fazla parametre almamalıdır. Birçok değişken yerine obje tipinde değer almalıdır.

Çok sınıfın veya metodun olması performans açısından bir problem yaşatmaz. İşlerin bölünmesi gerekiyorsa sorumluluklar perçalanmalıdır ancak ower design her zaman zararlıdır. Tasarım yapılırken ower design’a dikkat edilmelidir.

3-Class

Programlamada esas olan şey değişimdir. Programcı veya proje değişime direnç göstermemelidir. Bunu sağlamanın en temel yönlerinden biri ise classları interface’den, abstract’dan, base’den v.b beslemeliyiz. Engin Demiroğ’un söylemi ile “çıplak class kalmamaldır”. Class’lar soyutlanmamış ise proje değişime direnç gösterir.

4-Aspect Oriented Programing

AOP, Temiz kod için özellikle kullanılabilecek bir tekniktir. Birçok kod satırı yazmak yerine attribute’ler tanımlanabilir. Bu şekilde gerke loglama gerek validasyon veya herhangi bir iişi ayrıştırarak resimdede gösterildiği gibi operasyonlar attribute’ler olarak bu şekilde kullanılabilr.

Bir yanıt yazın

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