プログラムHOW-TOを Sagasoon。
軽く私の経歴をご紹介させてください。
- 小学校4年にパソコンに目覚める
- 小学校卒業までに簡単プログラミングを習得
- 中学生時代にC言語に触れ、アセンブラなどにも目覚める
- 高校はコンピューターサイエンス専攻の学科に入学
- 高校授業は、自分の知ってることしか授業でやらなくて詰まらなかった
- 高校時代に、C言語を本格的に始め、ゲームなども作り始める
- 大学もコンピューターサイエンス専攻の学科に入学
- 高校時代と同様、同じことの繰り返しに近かった・・・
- 中堅SIerに15年程度在籍。プログラマー&SE、半分営業、マネージャーなどを経験
- 独り立ちフリーランス→起業(今)
SIerに在籍したころ、縁あって多くの新人やら中堅さんとお付き合いをいたしました。
そんな中で、「出来てるはずのプログラムが動かない」等、プログラム初心者の技術者から、かなり蛾の強い相談をうけたりと、色々な経験を踏んできました。
私もその中で色々勉強させてもらい、今があるわけですが、一緒に悩んできた経験を皆さんと共有できたらいいなと思って、この記事を書いてます。
今後も、こういった経験を連載していこうと思いますので、ぜひご一読くださいませ。
さてさて、今日の題材は・・・。
不具合をつぶす
「したいこと」を整理して、いざプログラミングをしたは良いが、
「思った通りに動かない」
なんてことは、プログラミングをしたことがある方なら誰でも経験している悩みです。
頭掻きむしってイライラしてたって、不具合はなおらない。
仕方ない、どこが間違っているのか探そうか。
いやまてよ、もともとの考えが違うんじゃないか?
そんなわけない、私が思うにはあそこの問題だ
でも、ここは動いてる気がする
はぁ。
いつまでたっても、思い通りに動かない・・・。
解決案
皆さん、大抵「間違いを探す」という試みをしてしまいがち。
「ここは動かない?」とか、場当たり的に対応していることが多い。
私は、いつもそうゆう方をみると、こう言ってます。
思った通りに動いている場所は把握できてますか?
「問題のある場所を探す」という行動をとりがちですが、「問題のない場所を探す」ことに重きを置く習慣をつけてもらってます。
プログラムの頭から動かしてみると、たいてい感じになるんです。
- ここは正解
- ここも正解
- あれ?なんか風邪気味っぽい動き?
- あれ?まったく変?
動かない場所を探すんではなく、前半の「正解」の2か所を突き止めると、自然に、おかしなところの境目が分かります。
たぶん、少し時間をかけて眺めていると、「風邪気味」のところの前に「正解だ」と思っていたところも、「捻挫してたり」するオチになりますが。
これを繰り返せば、大抵問題ないです。
ただ、「めんどくさい」って思う心が邪魔して、ついつい感覚だけで不具合を見つけるなんてこともありますが、最初は、こういった「めんどくさい」を沢山経験した方が絶対に良いです。色々なミスと対峙することになりますので。
- プログラムのミス
- 考え方のミス
特に、最初のうちは「考え方のミス」が多いと思います。
この「考え方のミス」というのが、「次のプログラミングの糧になる」んです。
皆さん、楽しんでプログラミングを続けてください。
まとめ
いかがでしたでしょうか?
ターゲットを「初心者」というお話をしましたが、意外に「中級者の方」でも、こうゆう考えを持てない人がいたりします。
不具合解消作業(デバッグ)の基本なんですけどね。
それではまた、次の機会に!
コメント