| 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. |