Etiket arşivi: kod kalite standartları

Hal 96:Bir suçlu aradığında bu genelde projede kendinden önce çalışmış olan geliştirici/geliştiriciler olur

Yazılımcının işi aslında hiç kolay değildir. Sayısız programlama dilinden birini veya bir kaçını kullanıp, karmaşık problemleri yine karmaşık sayılabilecek mimariler, disiplinler ile harmanlayarak, müşterinin yüzünde tebessüm bırakacak ürünlerin geliştirimesinde rol almaya çalışır. Hele ki bir ekip çalışmasının söz konusu olduğu geliştirmelerde koordinasyon, süreç ve yönetim güçlükleri de işin içerisine girince tebessüm bıraktırmak epeyce zorlaşır.

Projenin veya iterasyonun sonlanmasına yakın artan baskı, sıkışık teslimat süreleri, yönetici tavırları, müşterinin olur olmaz isteklerinin kabülü, beklenenden az elde edilen gelir, kız/erkek arkadaşla yapılan kavga ve daha bir çok şey geliştiricinin zaten çorba olan kafasına tuz biber eker.

Yoğun olarak yazılım geliştirme işinde yer alan kişilerin zaman içerisinde psikolojik yıpranmaya uğramaları çok da şaşılacak bir durum değildir.

Peki işler kötüye gitmeye başladığında? Pproje geciktiğinde, istenen görevlerde sarkmalar olduğunda? Geliştiricilerin hepsi insandır ve çok doğal olarak psikolojisi vardır. Günlük rutin içerisinde değişken durumlarda değişkenlik gösterebilen bu psikolojinin içinde savunma ve yaptığını korumu dürtüleri de vardır.

Eğer süreç içinde işler bir geliştirici için ters gidiyorsa mutlaka “ürünün önceki zaman diliminde meydana gelen bir hat”a sonucu bu noktaya gelinmiştir düşüncesi hakimdir. Bu düşünce esasında önceki geliştiriciyi veya geliştiricileri suçlama noktasına kadar gider.

Bir ürüne geliştirme yaparken var olan koşullar çerçevesindeki standartlara uymak ve bunun dışına çıkmadan kodlama yapmak, sonradan gelen geliştiricilerin hakkımızda iyi şeyler düşünmesine neden olur.

En azından şirketin var olan kod-kalite standartlarına uyulmaya çalışılmasında yarar vardır.

Ne yazık ki bu tip savunma mekanizmalarının yöneticiler için bir kıymeti yoktur. Her ne kadar geçerli bir sebep olsa da yönetim kademesi veya işin sahibi, ürünün istenen nitelikleri ile istenen zamanda veya olabilecek en kısa sürede çıkmasını bekler.

Anahtar Kelimeler(Bunlara Bir Bakalım)

  • Hatasız Kodlama
  • Okunabilir Kod
  • Kodlama Standartları
  • Kod-Kalite Standartları

Hal 60:İyi yazılmış kodların,kendini anlatmak için yorum satırlarına ihtiyaç duymayacağını bilmeyebilir.

Yazılım geliştirmek, onun için gerekli araçları öğrenip projeden projeye koşmaktan ibaret değildir. Önemli olan ve dikkat edilmesi gereken daha pek çok unsur vardır. Bunlardan birisi de geliştirilen ürünü kullanacak olanların ihtiyaçlarına göre, kodun okunabilir olmasını sağlamaktır.

Üretilen bir yazılım sadece dummy user olarak nitelendirilen kesime hitap etmez. Yarın bir gün onu genişletmek veya kendi ürünlerinde kullanmak için açıp kurcalayacak geliştiriciler olabileceği unutulmamalıdır.

Kodun okunabilir olması çok geniş bir yelpazeyi işaret etmektedir. İsimlendirme standartlarından Domain odaklı olmaya, gereksiz kod tekrarlarını engellemekten düzgün ve doğru parçalanmaya kadar pek çok kriter vardır. Bu sebepten kodun okunurluğunu arttırmak adına ortaya konmuş pek çok standart, metrik ve ölçümleme aracı bulunur.

İyi yazılmış ve tasarlanmış uygulama kodları çoğunlukla yorum satırlarına ihtiyaç duyulmaksızın kendisini ifade edebilir. Aslında pek çok yazılım takımı yorum satırı kullanılmasına karşıdır. Yorum satırları kodun okunurluğunu azaltan, kafa karıştıran ve oralarda bir şeylerin işaret edilerek kolayca unutulabileceği yerlerdir.

Hangimiz “bu kısımda metod parametrelerinin null olup olmadığını kontrol edelim” şeklinde bir yorum satırı açıp bunu ebediyen oracıkta unutmak ister.

Yorum satırına ihtiyaç duyulmadan kendisini kullananlarına gayet güzel bir şekilde izah eden kod parçalarını geliştirmek bazen ileri seviye teknikleri kullanmayı gerektirebilir. Örneğin Domain odaklı bir dil geliştirilirken, iş biriminden elemanların ilgili söz dizimlerini kolayca anlayabilmesi ve keşfedebilmesi önemlidir.

İşte bu noktada daha akıllı arayüzlerin sunulması gerekir. Fluent Interface gibi prensipler kodun okunabilirliğini arttırma noktasında önemli kabiliyetler sunar. Pek çok fonksiyonel dil bu tip özellikleri bünyesinde hazır olarak barındırır. Yine de kullanan yazılımcı, ürettiğini kullananlar için onu mümkün mertebe kolay okunabilir ve kullanılabilir olarak tasarlamalıdır.

Anahtar Kelimeler (Bunlara Bir Bakalım)

  • Domain Specific Languages
  • Flunet Interface
  • Martin Fowler
  • Okunabilir Kod
  • Kodlama Standartları
  • Kod Kalite Değerleri – Code Quality Metrics