home
17 Nov 2009 - By Ahmet Kakıcı

Programlama İpuçları

Bugün Jeff Atwood’un blogunda genelde yazılım geliştirme üzerine yazılan “En iyi 10 ipucu” listelerinin listesini gördüm ve yazının hoşuma giden bölümlerini paylaşmak istedim. Maddeler genelde teorik olsa da ders çıkarılabilindiği takdirde pratik ipuçlarından çok daha faydalı olacağına eminim.

Orjinali ingilizce olduğundan dolayı mecburen Türkçeye çevirerek yazıyorum. Çeviri yapmak anlam kaybına yol açacağından dolayı orjinalini de okumanızı tavsiye ederim.

Jerry Weinberg: The 10 Commandments of Egoless Programming

Egolarınıza yenilmeden çalışabilmek için

  1. Hata yapabileceğinizi kabullenin.
  2. Siz ve yazdığınız kod bir değilsiniz.
  3. Ne kadar çok karete bildiğiniz önemli değildir, her zaman sizden iyisi vardır.
  4. Kimseye danışmadan/haber vermeden kodunuzu değiştirip yeniden yazmayın.
  5. Sizden daha az bilgili olan insanlara saygı ve sabır gösterin.
  6. Değişmeyen tek şey değişimin kendisidir.
  7. Gerçek yetki bilgiden gelir, mevkiden değil.
  8. İnandığınız şeyler için savaşın ancak yenilgiyi de kabullenebilin.
  9. Odadaki çocuk * olmayın.
  10. İnsanları değil kodu eleştrin. Koda karşı değil insanlara karşı nazik olun.

Dare Obasanjo: Top 10 Signs Your Software Project is Doomed

Projenizin çuvallamasına sebep olacak on madde

  1. Programın ilk sürümünde çok fazla şey yapmaya çalışmak.
  2. Yeni ve geçerliliği kanıtlanmamış teknolojilere bağlı çalışmak.
  3. Varolan ve çok tutulmuş bir proje ile yarışmaya kalkmak.
  4. Yetersiz kadroya sahip olmak.
  5. “Karmaşık problemlerin, karmaşık çözümleri vardır”.
  6. Gerçekçi olmayan proje takvimi/zamanlaması çıkarmak.
  7. Proje kapsamında ani değişiklikler yapmak.
  8. Second System Effect *
  9. Giriş stratejisi belirlememek.
  10. Nasıl çözüleceği bilinmeyen sorunlarla uğraşmak.

Michael McDonough: The Top 10 Things They Never Taught Me in Design School

Tasarım okulunda öğretilmeyen on şey

  1. Başarının sadece üçte biri yetenektir.
  2. Yaratıcı mesleklerde %95’i boş işlerle uğraşılır.
  3. Her şey aynı aynı derecede önemliyse, hiçbir şey gerçekten önemli değildir.
  4. Bir problem üzerinde fazla düşünme.
  5. Bildiklerinle başla ve bilinmeyenleri yok et.
  6. Amacını unutma.
  7. Çevrendeki ağırlıkları attığında genelde dengen bozulur.
  8. Cehenneme giden yol iyi niyetten geçer, hiçbir iyilik cezasız kalmaz.
  9. Her şey ‘çıktı’dan ibarettir.
  10. Dünya sizden ibaret değildir.

4 – Andres Taylor: Top 10 Things Ten Years of Professional Software Development Has Taught Me

On yıllık programlama tecrübesi sonucunda ortaya çıkan on madde

  1. Nesnel programlama düşündüğünüzden daha zordur.
  2. Yazılım geliştirmenin zor olan kısmı iletişimdir.
  3. ‘Hayır’ demeyi öğrenin.
  4. Her şey aynı aynı derecede önemliyse, hiçbir şey gerçekten önemli değildir.
  5. Bir problem üzerinde fazla düşünme.
  6. İşin derinine inmekten korkmayın ama orada takılıp kalmayın.
  7. Yazılım geliştirme işinin diğer safhaları hakkında da bilgi sahibi olun.
  8. İş arkadaşlarınız en iyi öğretmenlerinizdir.
  9. Her şey ‘çalışan’ bir programdan ibarettir.
  10. Some people are assholes. *