Etiketler

, , , , ,


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

  • Programlama dili sadece dildir. Hangi dili kullandığınızınönemi sadece o dilin size sunduğu teknik kolaylıklar (geliştirme ve yayımlama)kadar önemlidir.
  • Tasarım desenlerinden ziyade asıl olan tasarımprensipleridir. Prensipler bir konunun genel kaidelerini, desenler ise birproblemin çözüm şeklini verir. Ne kadar çok desen bilirseniz, o kadar çokproblemlerin çözüm yollarını tecrübe etmiş olursunuz ama konuya ancak ve ancakprensipleri bildiğinizde hâkim olursunuz.  (Teori = Prensip, Uygulama = Desen)
  • Temiz kodlama yazılımın olmazsa olmazdır. Ne yazarsanız yazın, temiz yazın.
  • Her kod mutlaka yeniden düzenlemeye (refactor) ihtiyaçduyar.
  • Devredilebilir fakat sade kod, işlevsel ama karmaşası yüksekkoddan daha iyidir.
  • Bakım maliyeti, geliştirme maliyetinden yüksek olan proje,hem mimarisel anlamda hem de proje yönetimi açısından başarısız bir projedir.
  • Kontrolsüz güç, güç değildir. Gerçekleştirilen ufak birdeğişimin, oluşturacağı maliyet kestirilemeyen  kod kontrollü ve yönetilebilir değildir. Kontrolün sizde olmadığı yazılım, sizi hiç olmadık zamanda yarı yolda bırakabilir.
  • Merkezileştirin. Herşeyin merkezi bir yerden yönetilmesini sağlayın. Bu sayede hem daha hızlı, hem daha güvenli hem de bakımı kolay yazılım geliştirmiş olursunuz. Geliştirmesi ve yönetilmesimerkezileştirilmemiş olmayan kod, kontrolsüzdür.
  • Standartları olmayan kodun binlerce standardı olur. En iyisitek bir standarda (yanlış da olsa) bağlı kalmaktadır.
  • Sadece değişim değişmezdir. Yazılım asla bitmez.
  • Bir işi bir kişi yapabilecek kadar sade ve basit, herkesinyaptığı her işi birbiriyle bağlayabilecek kadar esnek olun.
  • Bir işi sadece ve sadece tek kişi yapsın. X tablosundan veriokuyan sadece ve sadece tek bir metodunuz olsun. Diğer metotlar bu metodukullanarak kendi işini yapsın.
  • Önce doğru mimari kurgulayın. Kurguladığınız mimari hatalıkod geliştirebilmenizin önüne geçebilecek kadar sürecinize yardımcı olsun.
  • Geliştirdiğiniz kodu mutlaka test edin. Daha henüz yazarkenkafanızdan derleyin. Kafanızda derleyemediğiniz kod, ne süreç olarak ne deteknik olarak net değildir.
  • Her başarınızı mutlaka ödüllendirin. Kendinizi süreklimotive edin. Ama sakın kendi motivasyonunuzu başkalarına bırakmayın. Üstünüzdahi olsa!
  • Gelişiminizi asla başkalarına endekslemeyin ve dolayısıylakimsenin sizin gelişimini engellemesine izin vermeyin.
  • Öğretmek için öğrenin. Çevrenizdekilere öğrendiklerinizi aktarın.Fikir alış verişinde bulunun.  Konuşunama amansız tartışmalara girmeyin.
  • Beraber kod yazın (pair programming). Kod yazarken neyi niyeyaptığınızı mutlaka anlatın.
  • Kodunuzu mutlaka dokümente edin.  Bu hem daha sonra o kodu tekrarkullandığınızda sizin için, hem de sizden sonrakilerin sizi iyi anmaları içingereklidir.
  • Kodunuzu, algoritmalarınızı sadeleştirin. Ne kadar az satıro kadar az sade, ne kadar açık kod o kadar anlaşılır demektir. Az ve açıklıkkonusunda ayarı mutlaka koruyun. Gereksiz yere kodu azaltmayın, açıkçabelirmeniz gereken yerleri mutlaka detaylandırın.
  • Ne yazdığınızın bilincinde olun. Tam olarak hakimolmadığınız bir işe kalkışmayın. Eğer illa yazmanız gerekiyorsa, hakimolduğunuz bölümleri öncelikle hazırlayın.
  • Hiçbir projeyi basite almayın. Her iş önemlidir.
  • Hiçbir şeye garanti gözüyle bakmayın.  Kontrol etmediğiniz hiçbir koda güvenmeyin.
  • Ana fonksiyonalitelerinizi asla tek bir ürüne, kodabağlamayın.  Alternatifleriniz olsun.
  • Sabırlı olun. Uzun olanlardan kaçmayın. Sabredin ve sonunakadar gidin.
  • Raporlanmamış iş bitmiş değildir. Bitmemiş iş sizindeğildir.
  • Hayallerinizden ziyade planlarınız olsun. Mutlaka kağıt kalem alarak çalışın. Ana hatlarıyla ne yapacağınızı yazın,çizin, karalayın.
  • Hayal gücünüz hiç bitmesin. Düşünün, sürekli düşünün. Büyük düşününün ve planlayın.
  • İşinize odaklanın. AR-GE çalışmalarınızı işiniz için yapın. Bu sayade yaptığınız çalışmayı hem hayata geçirme fırsatınız olacaktır, hem de bu çalışma size iş hayatında katma değer sağyacaktır.
  • Neyi araştırdığınızı mutlaka araştırma öncesinde belirleyin. Bilgi ucu bucağı olmayan bir denizdir. Her yeni öğrendiğiniz bilgi, size bilmediğiniz başka bilgilerinin varlığını gösterecektir. Araştırmanızın dağılmaması için, neyi araştırdığınızı unutmayın ve o araştırmayı sonuçlandırana kadar sadece ona yoğunlaşın.