Etiketler

, , , , ,


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

Başlamadan önce “Yazılımın Edindirdiği Tecrübeler [Yaşanmış Hikayeler] I“‘i okumak isterseniz, buradan ulaşabilirsiniz.
  • Yazılımda evrensel çözümleryoktur. Sizin probleminiz ve ihtiyacınız olan bir çözüm vardır. Bu çözümü, evrensel tecrübelerden faydalanarak bulursunuz.
  • Teknik olarak doğru çözüm herzaman doğru çözüm değildir. Mühim olan süreci doğru işletebilmektir.
  • Yazılım buz dağı gibidir.İnsanlar sadece görünen kısmıyla ilgilenir. Ama siz altındaki o devasalkütleyle de başa çıkmayı bilmelisiniz.
  • Gerektiğinden daha fazla hiç birşeyi karmaşıklaştırmayın. Gerçekten gerekmeyen bir şeyi, yarın ihtiyaç olurdiye kodunuza eklemeyin.  Yarınolduğunda, gerçekten ihtiyaç olursa o zaman ekleyin. Ama sisteminizi mutlakayarın ihtiyaç olabileceğini düşünerek tasarlayın. (ama kodlamayın.)
  • İhtiyaçlarınızı her zamansadeleştirin. Bu sayede hem siz daha kolay yazılım geliştirirsiniz, hem demüşteriniz gözünde daha ürünü daha kolay canlandırır.
  • Güvenliği her zaman ön plandatutun. Ömrünüzü harcar bir uygulama geliştirirsiniz, tek bir anlık açıkyüzünden alınabilecek bir zarar ile herkes keşke hiç geliştirmemiş olmanızıtercih eder. Onun için güvenlik önceliğiniz olmalıdır. (Güvenlik merkeziyönetilebilir olmalıdır, aksi takdirde asla güvenemezsiniz.)
  • Performanslı kod gelişmek içingüçlü alt yapılar geliştirin. İşleyişini düzgün modelleyin. Tasarımınız iyiolursa, performansınız iyi olur.
  • İşinizi güzel yapın ki daha sonrao işi tekrar yapmanız gerektiğinde sıkılmayın, bocalamayın. Daha önce sizinyapmadığınız bölümleri bile mutlaka düzeltin. Bunu bir iş olarak değil, birhobi olarak görün. Paralelde iyileştirme çalışmalarını sürekli sürdürün.
  • Kodunuzu her zaman yedekleyin.Yedeklediğiniz kodu mutlaka periyodik olarak kontrol edin.
  • Asla gerçek sistem üzerinde testyapmayın. Yayına alma senaryolarınız mutlaka olsun, kötü durum senaryolarınızda.
  • Derlenebilir olamayan kodu aslasisteme bırakmayın. (Check-in)
  • Yazılımı küçük parçalar halindegeliştirin. Bu sayede hem test etmesi kolay olur hem de ilerlemeniz takipedilebilir olur.
  • Eğer toplu olarak (2-3 den fazla)bir değişiklik yapıyorsanız, öncelikle bu işin merkezi bir şekilde yapılıpyapılamayacağını araştırın, eğer yapılabiliyor ise yapın, yapılamıyor ise enazından yapmaya çalıştığını işi bir şablona oturtmaya çalışın. Bu sayedeişinizi modellemiş olursunuz.
  • Mimarisel konularda mutlakakonuşun. Herkesin kendi doğrusu olsa da mutlak doğru tektir. Alternatifler olsada, içlerinden bir tanesi mutlaka diğerlerinden daha iyidir. En iyi olan dasizin o zaman içinki doğrunuzdur ama mutlak doğru olmayabilir. Onun için mutlakdoğruyu bulana kadar düşünmeye ve sorgulamaya devam edin.
  • Hatasız sistemler tasarlayamıyorolsanız bir, düzeltilebilir sistemler tasarlayın.
  • Herhangi bir dilin size sağladığıbir işlevi, mümkün olduğu kadar kendi hazırladığını geçiş sınıfları üzerindenkullanmaya çalışın. Bu sayede, değişimlerden en az etkilenirsiniz.
  • Açık kaynak projelerin kodlarınıinceleyin. Size vizyon olarak çok şey katacaktır. (Örn: Enterprise Library)

Bu yazının devamına Yazılımın Edindirdiği Tecrübeler [Yaşanmış Hikayeler] III‘e buradan ulabilirsiniz.