Aralık ayında Türkiye’de ilk kez düzenleyeceğimiz “Kod Kalitesi ve Analizi” eğitim içeriği ile ilgili bir yazı dizisinin faydalı olacağını düşündük. Uluslararası Kod Kalitesi ve Kod Analizi Eğitimi, diğer eğitimlerimizden biraz daha farklı bir eğitim olacak.
Doğrudan Developer’lara Yönelik Keytorc Eğitimi
Yazılım Mühendisleri ile kalite odağında paylaşabileceğimiz çok şey olduğunu biliyoruz, bugüne dek Keytorc eğitimlerine katılmış olan yüzlerce developer’ın kendilerine, şirketlerine ve kariyerlerine önemli katkılar sağladıklarını görüyoruz. Sağladığımız faydayı daha da üst seviyeye çıkarmak için, yazılım geliştiricilere özel içeriği ile Uluslararası Kod Kalitesi ve Kod Analizi eğitimini kurguladık.
Aynı adlı yazı dizimizin ilk sayısında en temel başlangıç noktası olan Clean Code / Temiz Kod kavramını ve buna duyulan ihtiyacı ele alacağız. Sonraki sayılarımızda daha detaylı konuları da analiz edeceğiz.
Clean Code Nedir?
Birçok diğer tanımlama gibi bu da oldukça zorlu bir iş. Clean Code’un zaman içerisinde yapılmış birçok farklı tanımı bulunuyor; kimi oldukça kapsamlı, kimi çok daha basit düzeyde. Hatta bu kavram üzerine yazılmış kitaplar dahi bulunmakta.
En ünlüsü, Robert C. Martin’in (nam-ı diğer Uncle Bob) yazmış olduğu “Clean Code” kitabı. Martin’in kitabında temiz kod kavramı ile ilgili yer verdiği tanımlamalardan bazıları şöyle:
”Clean code is a code that is written by someone who cares.” Michael Feathers
”Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer’s intent but rather is full of crisp abstractions and straightforward lines of control.” Grady Booch
Aslına bakılırsa Clean Code kavramını, adını duymamış olsa dahi, birkaç sene yazılımcı olarak çalışmış herkes içsel olarak sezinleyecektir. Şöyle ki; birçok zaman projelerde önceki yazılımcının kodlarını anlayabilmek için günlerimizi harcadığımız olmuştur. Her şey iç içe ve anlaşılmaz gözükmektedir. Bazen tam anlamı ile yapıyı çözümleyemeyip, projeyi daha da kötü hale getirecek geçici çözümler üretmeye çalışırız.
Bu konu popüler mizah malzemesi hâline bile gelerek, “Önceki Yazılımcı” gibi isimler ile sosyal medyada sıkça dile getirilmiştir. İçinden çıkılamayan kodlar nedeniyle projelerin yeniden yazıldığına, para ve zaman kaybına uğradığını da görmüşüzdür.
Yazılımın yeterince temiz, sade yazılmaması ve tutulmaması (bu da oldukça önemli nitekim) nedeniyle proje, zaman içerisinde yeni özellikler ve bugfix’ler iler içinden çıkılmaz bir hâle getirmektedir.
Prensipler
Clean Kod’u tanımlayan, kimi yazılım dünyasının efsaneleri tarafından belirlenmiş, bazı prensipler de bulunmakta. Bunlar,
- Bad code does too much – Clean code is focused
- The language you wrote your code with should look like it was made for the problem
- It should not be redundant
- Reading your code should be pleasant
- Can be easily extended by any other developer
- It should have minimal dependencies
- It should have unit and acceptance tests
- It should be expressive
olarak özetlenebilir. Yani bir yazılım projesi kendini anlatabiliyor, kolayca geliştirilebiliyor, Verification ve Validation adımlarını tamamlıyor ve bunları en yalın şekilde gerçekleştirebiliyorsa orada “temiz kod” yazıldığını söyleyebiliriz.
Daha fazlası için https://www.keytorc.com/uluslararasi-kod-kalitesi-ve-kod-analizi-egitimi/
Berk Dülger
Danışman, Keytorc