こんにちは、京大生ブロガーのゲーテ(@goethe_kyodai)です。
「写経なんかしても意味ねえ!」なんて思っていませんか?意外と写経ってバカにできないんです。プログラミングを上達させるには有効な方法の1つです。
写経がプログラミング上達に効果的な理由と上達させる方法を教えていきます!
目次
写経で上達する理由
写すことでプログラムの仕組みが理解できる
写すことで、この変数がここでこういう役割をしているからこのアルゴリズムは上手く行くんだと理解できます。
自分が初めて写経の効果をできたのはヒープソートです。本の説明だけ見てイマイチ理解が曖昧だったことが、一行一行理解しながら写経することでかなり明確になりました。
アルゴリズムの実装だと、ソースコードを見ただけで分かった気になり手を動かさないのは落とし穴です。特に中難易度以上のアルゴリズムこそ手を動かして写経すべきだと思います。
アルゴリズムじゃなくても、どの変数がどこでどんな風に使われるのか、関数やクラスを活用してくかなど、一行一行写すことでかなりプログラムの仕組み(どう動いているか)がかなり見えてきます。
頭に残りやすい
記憶に残る割合は読んだことの10%、見たことの30%、見てやったことの80%と言われてます。
つまり、ソースコードを「見て」、さらに手を動かして「写経」すると、80%記憶に残ることが期待されます。
私の経験からも、ソースコードをただ見た場合よりも、写した時の方がよりアルゴリズムが頭に残ります。しっかり血肉になってる感じがします。
写経で上達させる方法
意味を理解するまで写さない
写すのが目的ではなく、理解することが目的なのですから、意味が分からずにお手本を写経しても、動くプログラムは書けますが意味がありません。
プログラムを理解できなければ、応用もできません。そのプログラムと同じ仕組み・ロジックを使えば作れるプログラムを書けるようになりません。
プログラミングは、前やったプログラムと同じロジックを使って新しいプログラムを書くことの連続なので、意味を理解できなきゃ全く上達しません。
ちゃんとコンパイラに通す
写経し終えたと思ったら、コンパイラに通してエラーが出ないかどうか確認しましょう。
大抵は「;」がないとか変な値が出るとかでエラーが出ますが、それをオリジナルを見て修正することで基本文法やエラーが出やすい箇所が分かるのは大きなメリットです。
エラーしやすいところが分かると、「エラーしやすいところを先回りして予防」することで時間の大幅削減ができます。この能力はプログラミングの効率が爆上がりするので、身につけておきたいです。
できたらちょっといじってみる
写経してコンパイラに通してエラーが出なければ、ちょっと中身をいじって出力がどう変わるか見てみましょう。この時に出力の予想を立てることがポイントです。
予想される値が出なかった時、それが何故なのか原因を考えたりググって解決するとかなり力が上がります。
特にプログラミングに必須なエラー解決力はかなり高まります。
しきい値を入れると予想と大きく外れた値が出ることが多いので、まずしきい値を入れるのがオススメです。あとめちゃくちゃ大きい数字とかめちゃくちゃ小さい数字とか入れるのもオススメです。
写経も大事ですが、知識豊富なエンジニアに質問してバグを潰すということも大切です。一人で考えるのは効率が悪く、時間の無駄と言ってもいいでしょう。
オススメなのが、無料で登録できるエンジニアQ&Aサイトのteratailです。返信がかなり早いのがすばらしい!
teratailについてもっと詳しく知りたい人はコチラの記事を見てください!
質問サイトやGoogleを駆使してもプログラミング学習に挫折した!という人は、もうプログラミングスクールしか手はありません。
プログラミングスクールは安くないので、まずは無料体験をして比較検討するのがオススメです!