心者が

プログラムを組む際に

気をつけなければいけない

たった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(例外)の表示が出ます