Yeni Başlayan Programcıların Çoğunlukla Yaptığı 7 Temel Programlama Hatası

Programlama bir sanattır. Bu gerçeğin kanıtına ihtiyaç duyan herkes, programcıların hatalarını nasıl gördüğüne bakmalıdır. Yeni veya deneyimsiz programcılar genellikle kodlama sırasında yaptıkları hataları anlayamazlar. Çünkü odak noktaları tamamen algoritmalarını kodlamak ve hatalarını ayıklamak için gereken süredir. Yazılım’a yeni başladıysanız, bu makale size bazı yararlı ipuçları ve bilgiler verecektir.

İnsanların şiir, yazı, resim ve diğer sanat türleri hakkında farklı görüşleri olduğu gibi, kodlayıcıların dünyası da bu bakımdan sanat dünyasına benzetilebilir. Çünkü birden çok farklı bakış açısı ve onlarca çözüm getirilebilir.

1. Temel Bakış
Hızlı ve gevşek kodlama, kodunuzu zayıflatmanın en kolay yollarından biridir. Yeni başlayan her programcı, rastgele kullanıcı davranışının bir programı etkileyebileceğini unutmamalıdır. Örneğin, sıfır girişinin bir bölme işlemine yol açıp açmayacağını belirlemeleri gerekir. Esasen, en küçük hatanın bir programın başarısız olmasına neden olabileceğini anlamalıdırlar. Detaylar Altan, detaylar…

2. Detaylara Çok Odaklanmak
Öte yandan, çok fazla ayrıntıya odaklanan kod betiği işleyişi yavaşlatacaktır. Kodunuz, yatmadan önce tüm pencereleri ve kapıları birkaç kez kontrol etmesi gereken OKB’li bir kişi gibi davranmamalıdır. Bazen, aşırı ayrıntıya bağlılık, programınızı ağ üzerinden uzak bir siteyle sık iletişim kurmaya ihtiyaç duyduğu noktaya kilitler. Sadece hedefe odaklanın.

3. Karmaşık Kontrol
Çoğu zaman, deneyimsiz programcılar programlarındaki belirli görevler üzerindeki kontrolü karmaşık hale getirme hatasını yaparlar. OtherInBox.com kurucu ortağı Mike Subelsky, her görev için programda yalnızca bir yer olması gerektiğinde ısrar ediyor. İki yerde bir güncelleme yazarsanız, biri muhtemelen birini değiştirir ve diğerini dokunmadan bırakırsınız.

Çok sevdiğim bir abim her zaman şunu der: “Eğer bir kodu aynı projede iki kere yazıyorsan, orada bir problem vardır.

4. İstemci Aygıta Çok Güvenmek
En tehlikeli hataların çoğu, programcılar doğru şeyi yapmak için istemci cihaza güvendiğinde ortaya çıkar. Örneğin, bir tarayıcıda çalıştırmak için kodunuzu yazarsanız, tarayıcı rasgele eylemleri yürütmek için kodu yeniden derleyebilir. Gelen tüm verileri tekrar kontrol edemezseniz, işler oldukça hızlı bir şekilde ters gidebilir.

5. Müşteriye Yeteri Kadar Güvenememek
Bazen güvenlik açısından takıntılı olmak aslında boşluklar yaratabilir. Programları taramayı yavaşlatabilir ve programcıları işlemleri hızlandırmak için katı güvenlik özelliklerinden bazılarını gevşetmeye zorlayabilir. Web formları konusunda güven sizi kurtarabilir. Uzun kişisel veri formları, banka düzeyinde güvenlik ve e-posta adresi onayları kullanıcıların katılmasını engeller. Bununla birlikte, bu tür verileri ayıklama ve depolamadan sonra korumak, değerinden daha fazla sorun olabilir. Bunu çok fazla yaşıyoruz, yeter ki müşteri mutlu olsun diye proje başbaşka bir yere gidiyor. Peki güvenlik? Sonra yine sana gelir o iş. Aman dikkat!

6. Amerikayı Yeniden Keşfetmeye Çalışmak
Bazı programcılar kendi kütüphanelerini yazmaya çalışırlar çünkü bunu yapmak için daha basit veya daha iyi bir yol bildiklerine inanırlar, bu da genellikle onları zorlar ve pes ederler. Bu, kendi yoğurtunuzu yapmakla aynıdır. Unutmayın, kodlama sırasında kullandığınız kütüphanelerin mükemmel olması gerekmez. Bu sorunun çözümü risk yönetimidir. Senin için stabil çalışan bir kütüphane halihazırda varsa bunu kullanmaktan ve geliştirmekten çekinme!

7. Kodun Kapatılması
Bu yaşıma kadar yaptıklarımı hep internetten öğrendim. (Çoğunlukla ingilizce) Sonrasında türkçe kaynak yoksa mutlaka git üzerinden diğer programcılarla paylaştım. Neden paylaşmayayım ki? Neden bunu kendime saklayayım? Kritik projelerden bahsetmiyorum tabiki. Kodunuzu açarsanız, tanımadığınız insanlar kodunuzun iyileştirilmesine katkıda bulunacak, özellikler ekleyecek, hatalar bulabilecek ve düzeltmeye çalışacaktır. Çok güzel değil mi? Bence öyle.

Programcıların hataları genellikle deneyimden kaynaklanır. Geneyim arttıkça tecrübeniz çoğalacak, hata oranı azalacaktır. Bu eğlenceli serüvende hepinize başarılar dilerim.

Bir sonraki makalede görüşmek üzere…

Eğitim Sisteminin Değişmeyen Metaforları

İnsan yetenekleri, doğanın kaynakları gibidir. Genellikle çok derinlerde gömülüdürler. İyice aramak gerekir. Öyle ortalıkta, yüzeyde durmazlar. Ortaya çıkabilecekleri ortamın hazırlanması gerekir sonra. Tahmin edebileceğiniz gibi bunun yolu eğitimden geçmelidir. Dünyadaki tüm eğitim sistemleri şu anda reform içindeler. Ama bu yeterli mi? Değil. Reform artık yeterli bir çözüm değil çünkü, reform demek bozuk bir modeli tamir etmek demektir. İhtiyacımız olan eğitiminin evrim geçirmesi değildir, ihtiyacımız olan bir eğitim devrimidir. Artık eğitim olduğu şeyden başka bir şeye dönüşmelidir.

Evet yenilik zordur, çünkü insanların alışmakta zorlanacakları yeni şeyler yapmalarını gerektirir. Doğru varsaydığımız şeyleri sorgulamayı gerektirir, apaçık ortada olduğunu düşündüğümüz şeyleri yeniden gözden geçirmemizi gerektirir. Reform ya da değişimle ilgili en büyük sorun, sağduyunun koşulsuz kabulüdür. İnsanlar bir şeyi kabul ederler çünkü derler ki “Bu iş başka türlü yapılmaz, çünkü bu hep böyle yapıldı.”

Bir başka büyük sorun da uyum. Yıllar boyunca eğitim sistemlerimizi fast food modeline uyarladık. Uyarlamaya devam ediyoruz. Catering kalite güvence sisteminde iki model vardır. Bunlardan biri olan fast food modelinde her şey standarttır. Diğer model Zagat ve Michelin gibi restoranlardır, bunlarda hiç bir şey standart değildir. Her şey o anki duruma göre özel olarak hazırlanır. Eğitim dünyası olarak biz kendimize fast food modelini layık görüyoruz, bu yaklaşım ruhumuzu ve enerjimizi tüketiyor, aynı hamburgerlerin sağlığımızı tükettiği gibi.

Eğer sevdiğiniz işi yapıyorsanız zaman farklı işler, bir saat size 5 dakika gibi gelebilir. Ruhunuzla uyuşmayan bir işi yaparken ise beş dakika size saatler gibi gelir. Bu kadar çok sayıda genç insanın eğitimden umudu kesmesinin nedeni ruhlarını beslemiyor olması. Enerjilerini, tutkularını beslemiyor. Artık metaforları değiştirmenin vakti gelmedi mi?

Öğrenmemiz gereken şey formüller, tarihler, isimler midir, yoksa hangi durumda hangisini kullanacağımız mıdır? Bir şeyi uygulama kabiliyetimiz yerine ezberleme, akılda tutma yeteneğimizin ölçülüyor olması düşününce sahiden size de garip gelmiyor mu?

Bilginin her türünün birkaç tık uzağımızda olduğu, bilgisayar yazılımları ve akıllı cihazlarımızla pek çok şeyi yapabildiğimiz dönemde her şeyi ezberde tutmayı ve hatırlamayı dayatan eğitim sistemini sorgulayamıyor olmamızı nasıl açıklarız?

Düşüncelerine değer verdiğim, uzun süredir takip etmeye çalıştığım akademisyen Sir Ken Robinson, standardize okullardan, çocukların doğal yeteneklerinin gelişebileceği ortamlar yaratarak, kişiselleştirilmiş eğitime radikal bir geçişi savunuyor. İzlemenizi tavsiye ederim.

Hafızamdan Çıkaramadıkları(m)

Sizin de eğitim hayatınız boyunca onlarca öğretmeniniz oldu. Biliyorum. Öğrencilere göre öğretmenler gelip geçici, öğrenciler kalıcı, öğretmenler için ise durum tam tersine. İnsanoğlunun doğasında monotonluk olduğuna inanıyorum. Her şeyin değişmeden devam edeceğine kendimizi inandırıyoruz. Ama malesef durum çoğu zaman böyle olmuyor.

Öğretmek, öğretmeni ve öğrenciyi birbirine bağlayan kişisel bir eylem. Bunun mutlaka karşılıklı sevgiye dayanan bir bağ olması gerekmiyor çoğu zaman. Öğretmek ve öğrenmek için bir araya gelmek yeterli. Elbette, her şey öğrenmek değil, aynı şekilde öğretmek te değil. Bilgi her zaman öğrenilir, yeter ki öğretmen sadece okulda değil, hayatın içerisinde de yol gösterici olsun.

Bazı öğretmenler öğrencilerine sevgi ile bağlıdırlar. Evet tam da Mahmut hoca gibi. Onlar için öğrenme hep ikinci plandadır. Öyle de olmalıdır zaten. Her şeyin okuldan ibaret olmadığını öğrencilere öğretirler, öğrencilerin zihinlerindeki bariyerleri yok edebilirler. Her zaman yol gösteren, heyecan uyandıran olabilirler. Öğrencilik hayatımda sayıları oldukça az olan bu kurtarıcılardan hayatıma etki edenler, iz bırakanlar elbette oldu. Unutamadıklarım da. Bu konuyla alakalı bir derleme yapmaya karar verdim. İşte iyi ki duydum dediklerim ve hafızamdan çıkaramadıkları(m).

1. Unutma, bakış açısı her şeydir. Düşüncelerin seni nereye götürürse, hayatın da oraya gider.

2. Çevrende her görüşten, her düşünceden insanlar olacak. Her düşünceyi dinle, onlarla vakit geçir, ama hiçbir düşünceye mensup olma. En önemli şey senin aklındaki düşüncen.

3. Kendi başarı ölçülerini oluştur. Bunu en başta yap ve bir daha asla arkana dönüp bakma.

4. Kitap okumuyorsun. Kimse kitap okumaktan nefret etmez. Muhtemelen sadece çok seçici bir okuyucusun. Çoğu insan binlerce kitapla dolu bir kitapçı dükkanına girer ama sadece bazı kitaplar ilgisini çeker. Bu normaldir. O “bazı” kitapları bul.

5. Kendinle dalga geçmeyi öğren.

6. Etrafında ilham veren insanlar ve fikirler olsun. Heyecanlarına ortak ol.

7. Hayatında sonuçlarına katlanman gerekse bile dürüstlüğünü sakın ola elden bırakma.

8. Küresel çapta düşün, yerel hareket et.

9. Dijital vatandaşlık “insanlık” vatandaşlığıdır aynı zamanda.

10. Kendine güven.

11. Yaptığın iş ve hayatın birbirinden ayrı olmak zorunda değiller.Yaptığın iş mutlaka bir “kariyer” olmak zorunda değil. Yaptığın iş dünya ile günlük etkileşimindir. Yaptığın işi dikkatli seç.

12. Yazılımcılar normal insanlar olmazlar. Senden iyi yazılımcı olur.

13. Mutluluk düşündüğün şey değil. Filmlerde ve toplumsal düzende sana iyi bir işin, evliliğin ve sürekli eğlenmenin hayatın temel amaçları olduğu öğretildi. Ama gerçek mutluluk başka kaynaklardan gelir. İstek ve eylem arasındaki uyumdan. Özgürlükten. Yaratıcılıktan. Yapabilme becerisinden. İnsanlarla bağlantı kurmaktan. İnandığın şeyleri yaşamaktan.

Senin mutluluğa ulaşma yolun bambaşka olabilir. Zaten gerçek olan da budur. Mutluluk herkes için farklıdır.

14. Arada sırada düşünmeye sıfırdan başla. Bakış açını yeniden oluştur. Bunu asla tam olarak başaramayacaksın, ama dene. Çünkü yıllar boyunca içselleştirdiğin duygusal ve bilişsel önyargılarını, yetişkinlik yıllarının ilk evrelerine de beraberinde götüreceksin.

15. Öğretmenlerinin ve ebeveynlerinin sana yapmanı söyledikleri şeyleri sorgulamadan yapma. Seni seviyorlar ama senin hayatının, umutlarının, düşüncelerinin, hayallerinin ve korkularının karmaşıklığını muhtemelen anlayamazlar. Anlamaya çalıştıklarında da kendi güvensizliklerini ve özlemlerini farkında olmadan sana yansıtacaklardır. Oysa bu senin hayatın ve senin işin.

16. Sürekli önceliklerini belirle. X’in Y’ye sebep olacağını görmek her zaman kolay değil. Bir şeyler değiştikçe, artık sana uymayan şeylerden vazgeçmekten korkma.

17. Yanlış yaptığında kabul et.

18. Ben senin hayat boyu öğretmeninim. Eğer bana ihtiyaç duyarsan mutlaka beni bul.

19. Problemleri(Yazılım) küçük parçalara ayır. Küçük parçaları önem sırasına göre çözümlemeye çalış. Problemleri daha kolay çözeceğini göreceksin.

20. Hayat belki de düşündüğün kadar kolay değil, gelecek planlamanı yaptın mı?

21. Daima yeteneklerinin farkında ol. Gelecekte sorumlulukların çok daha fazla olacak. Hayat, dizi filmlerde gösterilen poz pembe yaşamdan ibaret değil. Zamanı gelince gerçeklerle yüzleşmesini bil.

22. Hangi mesleği seçersen seç, ama mutlaka sevebileceğin işi yap.

23. Hata yaparak öğreneceksin, hata yapmaktan çekinme. Dene ve araştır. Haksızlıklar karşısında sakın sessiz kalma. Elindekileri tart. Neler yapabilirim diye düşün.

24. Elinde zamanı gelince sunumunu yapabileceğin bir portfolyo olsun. Kişisel referansların için çalışmalarda bulun. Belki de şuanda “boşuna uğraş veriyorum” dediğin bir çalışma hayatını değiştirecek. Umutsuz olma.

25. Hayatın her alanında problem çıkaran değil, problemi çözmeye çabalayan ol. Her zaman yıkıcı değil, yapıcı, onarıcı ol. Böyle daha mutlu olunacağını gün geldiğinde öğreneceksin.

Yaşamınızın her bölümünde güzel insanlarla karşılaşmanız dileğiyle.

Exit mobile version