Etiketler

, , , , ,


Yazılımın Edindirdiği Tecrübeler [Yaşanmış Hikayeler] III

  • Bir projeyi daha hızlı yapmanın en iyi yolu daha erken başlamaktır.
  • Bir iş yerinde işlerin %80’i, çalışanların %20’si tarafından yapılır. Mühim olan o %20’lik kesimin tespitidir.
  • Gecikmiş bir yazılım projesine insan gücü eklemek onun daha da gecikmesine sebep olur.
  • Kaç bayanın atandığından bağımsız olarak, bir bebeğin dünyaya gelmesi 9 ay sürer. Yazılımdaki birçok görev, bu karakteristikte işleyen doğal bir sırada gerçekleştirilir.
  • Her güzel yazılım, yazılımcıların kişisel dürtüleriyle başlar.
  • Testler hataların varlığını göstermek için kullanılır fakat hiçbir zaman olmadığını göstermez.
  • Karmaşasının ana nedeni, kullanıcın önemli olmayan her isteğinin kabul edilmesidir.
  • Ana görevimizin bilgisayara neler yapması gerektiğini öğretmekten ziyade insanlara bilgisayarın neler yapabileceğini öğretmek üzere yoğunlaşabiliriz.
  • İyi kod kendisini dokümante edendir. Sürekli açıklamalar eklemektense, nasıl yazarsam açıklamaya hiç gerek kalmaz üzerine düşünülmelidir. Bu şekilde yazılan kodun, dokümantasyonu çok sade ve kolay olur.
  • Üretken bir yazılımcının uygun olması beklemek, her zaman uygun bir yazılımcının üretken olmasını beklemekten iyidir.
  •  Yazılım tekrar kullanılabilir olması için önce kullanılabilir olması gerekmektedir.
  • İki tür yazılım tasarımı vardır. Birincisi o kadar sade ve basit bir tasarım yapasınız ki, açık olan hiçbir eksikliği olmaz, diğerinde de o kadar karmaşık yapasınız ki açıkça bulanabileceği hiçbir eksikliği olmaz.
  •  İyi kodlama tecrübe ile olur, tecrübe de kötü kodlama ile edinilir.
  • Sadelik güvenilebilirliğin ön gereksinimidir.
  • En iyi performans artışı çalışmayan durumdan çalışan duruma geçmesiyle gerçekleştirilir.
  • Hata ayıklama (debugging) yaparken, junior‘lar çalışması için gerekli doğru kodu eklemeye çalışırlar, senior‘lar ise problemli kodu çıkartırlar. 
  • Hata ayıklamanın ilk kuralı, hatanın bilgisayarda değil, kodunda olduğunu kabullenmektir.