Devam Eden Projeler...

Bir projeye hevesle başlarsınız, harika planlar, harika tasarımlar yaptığınızı düşünürsünüz. Yazdığınız kod, kurduğunu model ve mimarinin harika olduğunu delinmez olduğunu düşünür sistemi yazarsınız. aradan 1 sene geçtiğinde şöyle geri dönüp bir baktığınızda genelde gelişme sürecinden kaynaklı yazdığınız kodun ne kadar gereksiz yanları olduğunu görürsünüz veya tasarımda ne kadar büyük hatalar yapmışsınız onları anlarsınız. 
Sonra bir refactoring sürecine girişmek istersiniz tüm kodlarınızı ve tasarımlarınızı elden geçirmek istersiniz. Ama İşler ilk başta yazdığınız gibi kolay değildir. Live bir sistem ve binlerce müşteriniz vardır. Her sayfayı kafanıza göre değiştiremez yenilikleri kafanıza göre kararlaştıramazsınız. Yenilerini yapıp yavaş yavaş bir geçiş yapmak zorunda kalırsınız.

bu yazıyı bir yere bağlayamadım. Fakat böyle bir sürecin içerisinde olduğumu biliyorum. Ben kendimce buna Devamlı Gelişim Modeli diyorum. Durmadan gelişiyoruz. Geliştiriyoruz. 

Bunun sonucu olarak, geçmişi beğenmiyor, geleceği hayal ediyoruz. Bunun aksi beni güçsüzleştiriyor ve yoruyor.

Projelerinizi başlayıp bitirmek isteyebilirsiniz. Fakat Yazılım dünyasındaki ürünler çikolata gibi değildir. Yaşayan Canlılar gibidir. Bu nedenle Projenize başlayın yapabildiğiniz en iyi planlamayı yapın. Harika bir mimari kurgulayın, Harika kod blokları yazın, Harika tasarımlar gerçekleştirin..

Sonra bir gün dönün ve yaptıklarınıza bakın, Egonuzu bir köşeye atın ve ne kadar kötü bir iş yapmışım diyebilin(dünya'nın en harika işi olduğunu düşünseler dahi etrafınızdakiler) Sonra oturun ve daha iyisini yapmak üzere işe koyulun...

Başka nasıl gelişilebilir ki ?

Tarih Aralığı Kontrolü Problemi Çözümü | Date Intersection - Kendime Not

Projemde kullanmak üzere oluşturmuş olduğum MonthSelector Aracım ile Kutuları kullanarak tarihi ileri ve geri alarak aralık belirleme işlemi yapıyordum. Buna bağlı olarak görev tanımlarımın getirilmesini sağlıyorum. Görev Başlangıç ve Bitiş ile bu iki tarih aralığının kesişmesi ile ilgili kontrolü yapamadım. Sonrasında biraz araştırma yaptıktan sonra bunun "Date Intersection" konusu olduğunu öğrendim. Bununla ilgili bir kaç makale aradıktan sonra http://www.danesparza.net/2011/07/find-out-if-2-date-ranges-overlap-using-javascript/ adresine rastladım. Sorunumu başarılı bir şekilde çözdüm. 


var e1start = e1.start.getTime();
var e1end = e1.end.getTime();
var e2start = e2.start.getTime();
var e2end = e2.end.getTime();

return (e1start > e2start && e1start < e2end || e2start > e1start && e2start < e1end);