Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

388
Makale Tarihi : 26 Aralık 1999                   Yazan:Can Kaynak

GÖZ ARDI EDİLEMEYEN

AYRINTILAR.....

PROGRAMCILARIN DİKKAT ETMESİ GEREKEN BIÇAK SIRTI KONULAR.

Sevgili Bilgisayar Programcısı Arkadaşlar;

Her insan gibi sizin de çok para kazanmak en büyük hayaliniz. Hayal ettiğiniz meblağlara çokta uzak olamadığınızın farkındasınız. Çünkü Diğer insanlardan en büyük farkınız sizin Bilgisayar Programcısı Kimliğiniz. Çünkü Gerçek anlamda bu işi yapan kişiler-gerçek bilgisayar programcıları- tüm sorunlara analitik ve akılcı yaklaşırlar. Onlar hayatlarındaki her sorunu tıpkı bir bilgisayar programındaki problemi çözer gibi çözerler. Ama hayat bir bilgisayar programı olamayacak kadar kompleks bir sistemdir. Piyasa içinde çok kısa sürede çok fazla deneyimim oldu. Ama bu deneyimleri kazanmak için çok ağır bedeller ödediğimi de itiraf etmeliyim. Fakat atalarımızın dediği gibi "Akıllı olan bir kere aldanır". Bende bir kez aldanmayı adet ediniyorum. Edindiğim deneyimler bizim mantık hocalarımızın bahsettiği gibi "Hava bulutluysa yağmur yağacak" dogmatik yaklaşımını oluşturdu bende.

Bilgisayar programcıları olaylara çok duygusal yaklaşır. İstedikleri bir şey olmayınca hemen karamsarlığa ötelenirler. Çünkü maniken olaylar; hep onların yön verdiği doğrultuda olmalıdır. Onlar her şeyi planlamıştır. Ne acıdır ki mantık kuralları ticaret sektöründe pek fazla işe yaramıyor. Daha çok pedagojik yaklaşmak gerekiyor hedef kitleye. Onların beklentilerini iyi bilmek gerekiyor. Sanırım bilgisayar programcılarının her konu hakkında bilgi sahibi olması gerektiği tezini bu söylediğim sözler doğrular nitelikte. Sanıyorum ki siz de benimle aynı fikirdesiniz.

Yapılan yanlışlar genellikle tüm emeğinizin boşa gitmesine neden oluyor. Bu yanlışları yapmamak için bir büyüğünüzün sizi uyarması gerekiyor. Lakin hepimiz o kadar şanslı olamıyoruz. Bu da büyük bir yanlıştan sonra heba olan emekler sonucu program yapmaktan sıyrılmaya çalışır. Bunu kaybedilen bir savaş olarak görür.

Bu duygu seline kapılmanızı hiç mi hiç istemem. Artık bende ince eleyip sık dokuyorum. Sizinde ince eleyip sık dokumanız gerektiği için bu yazı dizisini hazırladım. "Çünkü büyük zaferler kaybedilen küçük savaşlardan alınan kazanılan deneyimle elde edilir."

Program Hazırlarken Karşılaşılan Problemler

Dil seçimi:

Tavsiyem:Eğer yapacağınız programın DOS sürümü varsa ve bu program kayıt girişi ağırlıklıysa; hedef kitlenizin öğrenim seviyesi düşük ve bilgisayar üzerine yeterli bilgisi yoksa ASLA PROGRAMI WIN32 İÇİN YAPMAYIN MS-DOS DİLLERİ KULLANIN!!!

Çünkü:Bu tür insanların eğitim seviyeleri düşük olduğu için yeniliklere açık insanlar değildir. Eğer bu programın MS-DOS sürümü varsa ve bunu daha önce kullandılarsa muhtemelen Klavye tuşlarını bile ezberlemişlerdir ve ondan kolay bir program yoktur. Yaptığınız her yeniliğe karşılardır. Çünkü yaptığınız her bir yenilik onlar için öğrenilmesi gereken ek bir külfiyet demektir. Hele birde bunu Windows için yaparsanız yani Delphi, VB, C++ Builder, gibi derleyiciler kullanırsanız vay halinize. Çünkü MS-DOS ekranına alışmış mevzu bahis kullanıcı Fare kullanımını ister inanın ister inanmayın reddeder.

Hatta öyle bir reddeder ki programı satacağınız kişi babanız bile olsa satamazsınız. Oysaki siz programı yeni çağa göre uyarlamışsınızdır. Daha hızlı ve daha güvenlidir.

Unutmayın!! Bir kullanıcı asla bir programcı gibi düşünmez. Eğer yaptığınız programın satılmasını istiyorsanız onlar gibi düşünmeyi öğrenmelisiniz.

Sistem Analizinin Gerekliliği:

Tavsiyem:Eğer programınızın üzerinde sürekli değişiklik yapmak istemiyorsanız MUTLAKA TAM ANLAMIYLA SİSTEM ANALİZİ YAPIN. Sistem analizsiz program lastiksiz otomobile benzer. Otobanda son sürat gitmek isterken jantlardan da olursunuz.

Çünkü:Yukarıda yaptığım uyarıyı muhtemelen tüm hocalarınız okuduğunuz süre içerisinde en az on kez yapmıştır. Ne yazık ki biz bilgisayar programcıları musibet başımıza gelmeden pek akıllanmayız; önemini kavrayamayız. Eğer iyi bir sistem analizi yapmazsanız, hedef kitlenizin isteklerine tamamlanmış gözüyle baktığınız programla asla cevap veremezsiniz. Ne acıdır ki sistem analizsiz gelişen bir programda yapılan bir değişiklik tamir olunmaz hataların habercisidir. Gözünüzden mutlaka can alıcı bir ayrıntı, bir hata kaçar ve Demo yapmaya gittiğiniz hedef kullanıcınızın önünde mahcup duruma düşersiniz. Size garanti veririm o kişi sizden o programı almayacaktır.

Ayrıca bir husus daha var. Sattığınız o programlar başınıza çok büyük dertler açar. Sürekli o programı zamanınız hep programı düzeltmekle geçer. Başka işlere zaman ayıramazsınız. En sonunda"Allah kahretsin keşke bu programa hiç başlamasaydım" dersiniz. Satın alan kişiden değiştirdiğiniz yerler için ne yol parası ne de emeğinizin karşılığı bir ücret talep edebilirsiniz. Bu da kullanıcının BELEŞÇİLİĞE alışmasına neden olur. Tüm hatalar giderilse bile siz bu kişiye programınızın yeni sürümünü satamazsınız.

Bu tür hatalardan ve şanssızlıklardan siz de pay almak istemiyorsanız, size önerim şunlar:

  • Bir programı yapmak için girdileri iyi değerlendirin.
  • Kullanılacak kişilerden münazara için kobaylar seçin.
  • Testlerinizi bir rapor haline getirin.
  • Beklenilen hataları mutlaka bir kenara not edin.
  • Kendinize mutlaka bir sistem analizi formatı oluşturun ve en küçük programda bile bu formata uyun.
  • Veri tiplerinizi MUTLAKA en önceden belirleyin. Çünkü yanlış belirlediğiniz bir veri tipi yapacağınız programı sürekli değiştirmenize neden olur. Şöyle ki bir para birimini tutup da string yada integer olarak belirlemeyin. Integer'in üst sınırı Türk Lirasını tutmaya yetmez. Yahut bunu string olarak tanımlarsanız boşu boşuna fazla yer tutar. Ayrıca hatanızı gördüğünüz an büyük çaplı bir programda neleri değiştirmek zorunda kalacağınızı anlatmama gerek yok sanırım.
  • İnsanlara soracağınız soruları önceden hazırlayın. Ve bunu birden fazla kişiye soracağınızı göz önüne alarak çoğaltın. Ayrıca her kişinin verdiği cevapları da ayrı ayrı yazın. Unutmayın mülakat edeceğiniz kişiler işini kaybetme korkusu ile sizi yanlış yönlendirebilirler.
  • Mutlaka programı gerçek veriler ile test edin.
  • Algoritma kullanın. Algoritmanızı anlaşılır hazırlayın.
  • Sistem analizini külfiyet olarak görmeyin. Bunlar programcının can simididir.

Daha Nesnel Düşünmek:

Tavsiyem:Eğer nesneye dayalı program yazıyorsanız,sonraki programlarınızda kullanmak üzere nesnelerinizi saklayın ve onların olabildiğince plug&play olmasına özen gösterin.

Çünkü:Bir program hazırladığınızda ona kazandırdığınız özelliklerden birini yada bir kaçını mutlaka başka bir programınızda kullanırsınız. Örneğin ekranın çözünürlüğüne göre bir formun büyüklüğünü ayarlayan bir kodu mutlaka ileride kullanırsınız. Ayrıca bunları aynı kategoriden kodlarla birleştirip bunu bir nesne haline getirirseniz o kodları tekrar tekrar yazmanıza hiç gerek kalmaz. Sadece nesneyi formun üzerine bırakmanız ve bağlantılı özelliklerini ayarlamanız yeterli olacaktır. Bu da sizin daha az koda yazarak daha çok iş yapmanızı sağlar.

Olmazsa olmaz özellikler:

Tavsiyem:Programlarınızda mutlaka her kullanıcının kendine göre değiştirebileceği özellikler yaratın. Bu programınızın daha çok tutulmasını sağlar.

Çünkü:Mesela sürekli kayıt tutan bir program hazırlıyorsanız bu programı sattıracak en büyük özellik programın içinden dosyaları yedeklemek olacaktır. Eğer hedef kitleniz genç guruplarsa; programın boyutları ve üzerindeki resimlerin renklerin değişmesi ilgi çekici fonların bulunması her zaman programınız için bir artıdır. Yada hedef kitleniz Bazı özelliklerin ana menüde görünmesini istemiyorsa onların göze tasarımı bozmayacak şekilde kaldırılması insanların bu programa ısınmasını sağlar. Ayrıca Kullanıcıya gösterdiğiniz dosyaların bir program tarafından mutlaka üzeri tıklandığında açılması gerekir. Eğer böyle bir özellik kazandırmak istemiyorsanız bu dosyayı görünür yapmayın.


Benim size tavsiye edebileceğim şeylerin hepsi bu kadar değil. Mutlaka sizin de bizimle paylaşmak istediğiniz deneyimleriniz olabilir. Bunun için bana yazabilirsiniz. Düşünceleriniz ve deneyimleriniz sitemde yayınlanacaktır.

Bu Makaleye Kendi Düşüncelerinizi yada Tecrübelerinizi eklemek istiyorsanız Fikir formunu doldurun.