Bir Programcı Gibi Düşününmek İçin Ne Yapmalı

  • Bir Programcı Gibi Düşününmek İçin Ne Yapmalı

Bu makalede gerçek bir progamcı nasıl düşünür? Hataları nasıl çözer? Nası bir yaklaşım benimser? gibi soruların yanıtlarına bakacağız. Makalenin sonunda programcılar olarak bir probleme nasıl yaklaşmamız gerektiğini ve üstesinden nasıl gelebileceğimizi öğrenmiş olacağız. 

Karşılaştığınız sorunları (hataları) çözmek için belirli bir taktiğiniz yoksa muhtemelen sizde herkesin yaptığı gibi  sorunları en kötü yoldan çözmeye çalışıyorsunuz.

  1. Bir çözüm dene.
  2. Bu çözüm işe yaramazsa, başka bir tane dene.
  3. Bu da işe yaramazsa, işe yarayana kadar 2. Adıma git.

Ama bu yöntem problem çözmenin  en kötü ve zaman kaybettiren şeklidir.

“Herkes programlamayı öğrenmeli, çünkü bu süreç düşünmeyi öğretiyor.” -Steve Jobs 

“Yeni programcıların yaptığı en büyük hata,  problemlerin nasıl çözüleceğini öğrenmek  yerine sözdizimi (syntax) öğrenmeye  odaklanmaktır..”  - V. Anton Spraul

Hatayla karşılaştığımızda ne yapmalıyız?

  1. Sorunu anla
  2. Plan yap
  3. Küçük parçalara böl
  4. Bölünmüyorsa?

1 - Sorunu Anla

Sorunu çözmek için öncelikle sorunu çok iyi anlamalıyız. Karşılaştığımız birçok  hata aslında onları tam olarak anlayamadığımız için zordur. Peki sorunu anladığımızı nasıl bileceğiz?

Çoğu programcı bu duyguyu bilir, alınan hatayı başkasına açıklarken aslında hiç akla gelmeyen  detayların da farkına varıyoruz. O yüzden problemin ne olduğunu bir yere yazmalı yada başkasına açıklamaya çalışmalıyız. Bir şeyi basit terimlerle açıklayamıyorsanız, o şeyi anlamamışsınız demektir.

2 - Plan Yap

Bir planınız olmadan sorunu çözmeye girişmeyin. Aksi takdirde alakasız çözümlerle sorundan uzaklaşabilirsiniz. Çözümünüzü olabildiğince kapsamlı bir şekilde planlayın

Sorunu anladıktan sonra gerçek bir analiz yaparak bilgileri beyninize işleyin. Bu plan için kendinize  zaman tanıyın ve acele etmeyin. Örnek olarak kendinize; “X girdisinden, Y çıktısı elde etmek için gerekli adımlar nelerdir?” sorusun sorun.

3 - Küçük Parçalara Böl

Belirlediğiniz plana göre, ana sorunu küçük parçalara bölün. Başlangıçta büyük bir sorunu çözmeye çalışmayın. Ayırdığınız küçük problemleri çözmek çok daha kolaydır.

Örnek olarak;

Kullanıcıdan alınan 10 adet sayının içerisinden en büyük  üçüncü sayıyı bulmak istedik. Eğer kafa karıştırıcı geldiyse  üçüncü en yüksek yerine en yüksek sayıyı bulabiliriz. Hâlâ  zorlayıcı ise sadece 3 sayı içerisinden en yükseğini bulabiliriz.

Her alt sorunu çözdükten sonra noktaları birleştirin. Tüm alt sorunları çözmek, ana sorunu da çözmeyi sağlar. Tebrikler !

4 - Bölünmüyorsa Ne Yapmalı

Sorunu daha küçük parçalara bölemediğimiz zaman yada herhangi bir yerde tıkandığımız zaman ne yapacağız?

İlk olarak bu durumun herkesin başına geldiğinin bilincinde olarak aşağıdaki adımları izleyebiliriz.

  1. Debug(Hata Ayıklama): Nerede yanlış yaptığınızı bulmak için adım adım ilerleyin
  2. Yeniden Düşün: Bir adım geriye gidin ve asıl soruna başka bir açıdan bakın. Yada her şeye baştan başlayın.
  3. Araştıma: Google`ı kullanın, hangi probleminiz olursa olsun, biri muhtemelen sizin sorununuzu çözmüştür. Aslında sorunu çözmüş olsanız bile bunu yapın. (Başka kişilerin çözümlerinden çok şey öğrenebilirsiniz.)

SONUÇ:

Şimdi, bir programcı gibi düşünmenin ne demek olduğunu daha iyi biliyoruz. Ancak bu çok iyi problem çözücü olduğumuz anlamına gelmiyor.

Pratik Pratik Pratik

Şimdi git ve biraz hata çöz !

İLK YORUMU YAPAN SEN OL!

YORUM YAP VEYA SORU SOR

EN ÖNEMLİ YERİ BOŞ BIRAKMAYINIZ (MİN. 5 KARAKTER)
Gerekli
LÜTFEN GEÇERLİ BİR E-POSTA ADRESİ GİRİNİZ