初心者が
プログラムを組む際に
気をつけなければいけない
たった1つのこと
あなたは本当に
理解できているでしょうか?
不幸なことに
プログラミングを
学び始めたころの私は
このことを
理解していませんでした
そして、誰も
教えてはくれなかったのです
私は、プログラムを組むのに
周りの同期の10倍以上の
時間がかかっていました
プログラムを書き始めると
5行目あたりから
いろんなことを
同時に考える必要がでてきて
頭がパンクしそうになるのです
書いているうちに
自分の中でどんどん
頭がこんがらがっていくのです
10行目を超えたあたりで
私の手は完全に止まっていました
これが毎回
起こってしまうのです。
毎回の研修は
絶望的でした
1回もプログラムを
最後まで書き上げれない
周りに置いていかれる・・・
隣の研修生に
「なにしてんの?」
と言われたこともあります
とても正直には言えず
「いや、ちょっとね」
と誤魔化してしまいました
ただ、どの本を読んでも
解決策は書いてありません
私がKさんにあったのは
その状態が2週間続いたころでした
なぜ頭がぐちゃぐちゃになるのか
Kさんは
私のプログラミング師匠にあたります
彼は、私に教える際に
私がプログラムを書くのを
横で見守っていました
私は、とても緊張した手で
プログラムを書いていたのを
覚えています
そして、いつもどおり
10行くらいで手が止まりました
どこから手をつけていいのか
わからない
また、この感覚か
私はそう思いました
Kさんは10分ほど
黙っていたあとで
声をかけてくれました
「今、何考えてる?」
私は、その時
考えていることを
全て一生懸命に
話してみました
Kさんは黙って
「ほう」とか「うん」とか
相槌を打つだけでした
そのあと、Kさんは
こう言いました
「プログラムはもっとシンプルだ。
頭がごちゃごちゃなのは
複雑に考えようとするからだ」
例外は無視せよ
「まずは
スタートからゴールへ
一直線だけを考えろ」
私は、プログラムを組む際に
いろんなエラーを同時に
考えてしまう癖がありました
入力されたのが数字じゃなかったら?
範囲外に莫大な数字を入力されたら?
負の値が入力されたら?
Kさんが言った大事なことは
『結果への一直線だけを先に考える』
ことでした
お釣りの硬貨を
計算するプログラムなら
料金と支払い金額から
お釣りの硬貨を出す部分だけ
考えればいいんです
支払い金額が足りない
などといった例外は
後から考えるようにしましょう
昔の私もそうでしたが
どうしても初心者の頃は
プログラムのメイン部分と
例外を処理する部分が区別できません
講師も詳しく教えない
可能性があります
try...catchなどを
書いたことはあるけど
よく分かってない
という方は
意外と多いのです
なのでまずは
ゴールへの一直線だけを
考えるようにしてください
実際にやってみる
今回もブログを読み終わった方には
練習をしていただきたいので
以下の問題を考えてみてください
「2つの整数の入力してもらい
1つめを x 、2つめを y とします
x を y で割った時の
商と余りを出力してください」
もしかすると
かなり簡単かもしれませんね
回答は↓にあります
今回のは、ゴールはとても単純です
商・・・x / y
余り・・・x % y
ですね。
例外は y が0の時です
Exception(例外)の表示が出ます