Diğer

Temiz Kod Nedir ? Nasıl Yazılır ?

Merhabalar, bu makalemde yazılım derslerinde biraz alışılmışın dışına çıkarak farklı bir konu ve oldukça önem verilmesi gereken temiz kodu işleyeceğiz.

Bu makalemde temiz kodun nasıl yazıldığını, bir proje yaparken kodlama kısmında nelere dikkat etmemiz gerektiğini,gereksiz  yada makarna kod veya spagetti diye de İngilizce tabiri bulunan kodlama biçimine değineceğiz.

 

1.Temiz Kod Nedir ?

Temiz kod aslında adını taşıdığı bir yapı değildir. Temiz koddan kasıt, kodların işleyişi, yapısı, tekrara düşmemesi, anlaşılır ve düzenli olmasıdır. Sizin projelerine ihtiyacı olan bir sürü meslektaşınız olacaktır. Bir yazılımcı olarak kodların, projelerin ve bilgilerin her zaman açık kaynak olması yandaşıyım. Bu sebeple insanlara projelerinizi verirken istekli olmanız ve onun anlamasını kolaylaştıracak şekilde yazmanız önemlidir. Projeyi sıfırdan okumak yazmak kadar zaman alabilir.

Fakat temiz kod sadece, projelerinizi insanlara verdiğinizde onların kolay anlaması için yazılmaz. Bir projeyi kodladığınızda veya hala kodladığınız zamanda her şeyi kolayca anlayabilirsiniz. Yani kodlarınızda ne işlem yaptığınızı, ne demek istediğinizi, hangi yöntemle sorunu çözdüğünüzü anlayabilirsiniz. Çünkü aradan fazla zaman geçmemiştir. Fakat aradan 1 hafta veya daha fazla bir zamandan sonra artık projenizde kullandığınız kodlarınızı zamanla anlamamaya başlayacaksınız. Ben anlarım demeyin anlamazsınız. Projeden, kodlamadan uzak kalınca anlamayacaksınız. 1 haftayı geride bırakın, projenizi yaptıktan 1 sene sonra geri döndüğünüzde  muhtemelen ilk defa görmüş gibi olacaksınız. Bu sorundan kurtulmanın en büyük yardımcısı temiz kod yazmaktır.

Temiz kod yazmanın bir diğer kısmı ise, yeni girdiğiniz yazılım şirketinde size yeniden kodlama yaptırmayacaklardır. Hazırda olan projenin üzerinden devam edeceksinizdir. Bu noktada sizden önceki yazılımcı eğer kodları, birazdan nasıl yazıldığını öğreneceğimiz şekilde yazmamış olursa vay halinize. Projeyi anlamanız saatlerinizi, günlerinizi bile alabilir. Bu yüzden temiz kod yazmanın önemi çok büyük.

Bir diğer nokta ise, yapılan projeler çoğu zaman geniş kapsamlıdır. Bazen projenin bir ucunda bazen ise diğer ucunda çalıştığımız zamanlar olur. Bu süre zarfında diğer uca geri döndüğünüzde, tanımladığınız  değerler, eğer  ” int a=5; ” gibiyse muhtemelen bunu ne için yazmışım diye kendinize soracaksınız. Bunların hepsinden kurtulmanın bir yöntemi var.

2.Temiz Kod Hakkında

– Bjarne Stroustrup (C++’ı geliştiren ve “The C++ Programming” kitabının yazarı) : Temiz kod birşeyi en iyi şekilde yapmalıdır. Hata yönetimi ve mimarisi etkili, kolay geliştirilebilir ve performansı yüksek olmalıdır. 

 

– Grady Booch, “Object Oriented Analysis and Design with Applications” kitabının yazarı : Temiz kod basit ve ne yaptığını direkt göstermelidir. İyi yazılmış bir yazı gibi okunabilmelidir.

 

– “Big” Dave Thomas, OTI’nin yaratıcısı ve Eclipse stratejisinin babası: Temiz kodu okunabilir ve orijinal kodcusundan başka bir kodcu tarafından geliştirilebilir olmalıdır. Bir şeyi yapmak için birden fazla yol yerine tek bir çözüm yolunu sunmalıdır.

 

Söylemlerden de görüldüğü gibi temiz kod; basit, okunabilen ve tek iş yapandır. Kod yazarken şu soruyu sorabilirsiniz kendinize “Yazılımla ilgisi olmayan biri bu kodu okduğunda ne yaptığını anlayabilir mi?”. Eğer hayır ise demekki karmaşık ve okunamayan kod yazıyorsunuz demektir.

3.Temiz Kod Nasıl Kullanılır ? 

İlk olarak verdiğiniz değerler önemli. Değerleriniz “a,b,c” gibi değilde “sayi,sayi1,toplam” gibisinden olmalıdır. Bu sayede geri dönüş yaptığınızda verdiğiniz değerin neyi ifade ettiğini kolayca anlamış olacaksınız.

Class ve method adlarınızın başına _(alt tire) koyarak erişiminizi kolaylaştırmalısınız. Bu sayede editörünüzde _ yazdığınız anda tüm classlarınız veya methodlarınız listelenecektir. Class ve method adlarınızı değerlerde kullandığınız yöntemin aynısını kullanmalısınız. Örnek olarak “_Toplama()” metodu ile toplama işlemi , “_Cikarma()” metodu ile de çıkarma işlemlerinizi yaptırabilirsiniz.

Nesnelerinizin adını yaptıkları işlemlere göre verin. Web site, desktop, mobile vb. uygulamaları yaparken kullandığınız nesnelerin isimleri örnek “textBox1” değilde, “txtKullaniciAdi” şeklinde olmalıdır. Bu metin nesnesi için değil, diğer tüm nesneler içinde geçerlidir. Tüm metin nesnelerinin başına “txt”, tüm buton nesnelerinin başına “btn” koyduğunuz zaman, kullanmak istediğiniz nesnenin hangi tür olduğu yazarak listelemeniz size kolaylık sağlayacaktır.

Temiz kodu dosyalarınızda da kullanabilirsiniz, nasıl mı ?

Proje dosyalarınıza ek olarak resim,video vb. dosyalarınızı türlerine göre ayırmalısınız. İçerisinde sadece resim barındıracağınız bir klasörün adını “resimler”, sadece video barındıracağınız bir klasörün ismini “videolar” koyarak ulaşımı ve kod hızını arttırmalısınız. Bu sadece resim ve video için değil tüm dosya uzantıları, biçimleri için kullanılan bir yöntemdir.

En önemlilerinden biri ise yorum satırları. Yorum satırlarını kodlarınızın arasında kullanmanız çok önemlidir. Kodlarınızda ne işlem yaptığınızı bu yorum satırlarında barındırarak projeye veya koda dönüş yaptığınızda zorlanmadan kodu çözmenizi sağlayacaktır. En önemli olmasının sebebi, herhangi bir değere gerçek isimlendirme kullanmadan yazdığınız koddan bir şey anlamayacağınız muhtemeldir, bu nedenle yorum satırı koyduğunuz zaman ve o değerin ne anlama geldiğini açıkladığınız zaman değeri gerçek isimlendirilmesine gerek kalmayacaktır.

Temiz kod, anlattıklarım dışında daha genişletilebilecek bir kavram. Klasör yapısı, dosya yapısı, yorum satırları, isimlendirme, yazım standartı,sınıflar, fonksiyonlar, değişkenler, boşluklar,girintileme gibi.

Bu makalemde temiz kodun bir kısmını işledik. Bir sonraki makalemde görüşmek üzere..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir