「写経」の退屈さに耐えられない人のための代替メニュー
この記事は約 5 分で読めます。
写経が続かないのは意志の問題ではない
「技術書のコードは手で打ち込め」。よく聞くアドバイスです。写経には確かに学習効果があります。しかし、正直に言って退屈です。
本に書いてあるコードを 1 文字ずつ打ち込む。タイプミスでエラーが出る。本と画面を何度も見比べる。30 分かけて打ち込んだコードが動いたとき、達成感よりも疲労感の方が大きい。
写経が続かないのは、意志が弱いからではありません。人間の脳は、単純な反復作業に飽きるようにできています。写経が合わない人には、別の方法があります。
代替メニュー 1: 改変写経
本のコードをそのまま打ち込むのではなく、意図的に変えて打ち込みます。
- 変数名を自分の好きな名前に変える
- 引数の値を変えて、出力がどう変わるか試す
- 関数の一部を削除して、何が起きるか観察する
- 本にない機能を 1 つ追加してみる
「そのまま写す」から「変えて試す」に切り替えるだけで、受動的な作業が能動的な実験に変わります。脳が「次は何が起きるだろう」と予測を始めるため、退屈さが消えます。
代替メニュー 2: 逆写経
本のコードの出力結果だけを見て、自分でコードを書いてみます。
本に「この関数は配列の中から偶数だけを取り出して返す」と書いてあったら、本のコードを見ずに自分で実装する。書き終えたら本のコードと比較し、違いを分析する。
実践的なプログラミングの本のサンプルコードで逆写経を試すと、自分の書き方と著者の書き方の違いから多くの学びが得られます。
「自分は for ループで書いたが、著者は filter メソッドを使っている。なぜだろう」。この「なぜ」が、写経では得られない深い理解を生みます。
代替メニュー 3: ミニプロジェクト化
本の 1 章を読み終えたら、その章で学んだ技術を使って小さなプロジェクトを作ります。
HTTP リクエストの章を読んだら、天気 API を叩いて結果を表示するスクリプトを作る。データベースの章を読んだら、自分の読書ログを保存する簡易アプリを作る。
本のサンプルコードは著者が決めたテーマですが、ミニプロジェクトは自分が決めたテーマです。自分の興味があるテーマで作ると、モチベーションが段違いに高くなります。
代替メニュー 4: 解説写経
本のコードを打ち込みながら、各行にコメントで「この行は何をしているか」を自分の言葉で書きます。
// ユーザー一覧を API から取得する (非同期)
const users = await fetchUsers();
// 年齢が 20 以上のユーザーだけに絞り込む
const adults = users.filter(u => u.age >= 20);
コメントを書く行為は、コードの意味を自分の頭で咀嚼する作業です。「この行は何をしているか」を言語化できなければ、理解できていない証拠。理解できていない箇所が明確になるため、学習効率が高い。
どの方法が自分に合うか
4 つの代替メニューは、それぞれ鍛えるスキルが異なります。
| 方法 | 鍛えるスキル | 向いている人 |
|---|---|---|
| 改変写経 | 実験力・好奇心 | 「動かして試したい」タイプ |
| 逆写経 | 実装力・設計力 | 「自分で考えたい」タイプ |
| ミニプロジェクト | 応用力・企画力 | 「作りたいものがある」タイプ |
| 解説写経 | 読解力・言語化力 | 「理解を深めたい」タイプ |
1 つに絞る必要はありません。章によって方法を変えてもいい。重要なのは、「退屈で続かない」状態から脱出することです。
写経が合う人もいる
念のため補足すると、写経が合う人もいます。無心でコードを打ち込む作業が瞑想のように心地よいという人、タイピングの反復で体に覚えさせたいという人。そういう人は写経を続けてください。
学習法に唯一の正解はありません。自分が続けられる方法が、自分にとっての最良の方法です。
関連記事
まとめ
写経が退屈で続かないなら、改変写経、逆写経、ミニプロジェクト化、解説写経の 4 つの代替メニューを試してください。どれも写経と同等以上の学習効果があり、退屈さを感じにくい方法です。続けられる方法が最良の方法。自分に合ったスタイルを見つけてください。
この記事は役に立ちましたか?
関連用語
関連記事
技術書の「写経」が続かない人のための段階的アプローチ
技術書のコードを写経しようとして挫折した経験はありませんか。写経が続かない原因を分析し、無理なく続けられる 4 段階のアプローチを紹介します。
本のコードを写すだけでも力がつく理由
本のコードをそのまま打ち込む「写経」は、初心者にとって最も効果的な練習法の 1 つです。なぜ写すだけで力がつくのか、その仕組みを解説します。
写経のすすめ - 技術書のコードを手で打ち込む学習効果
技術書のサンプルコードを手で打ち込む「写経」の 3 つのレベルと、写経に向いている本の特徴、効果を最大化するやり方を紹介します。
「写経」「模写」「車輪の再発明」- 手を動かす学習法の使い分け
写経、模写、車輪の再発明。手を動かす学習法は複数ありますが、それぞれ鍛えられるスキルが異なります。目的に応じた使い分けを解説します。
写経を超える - 技術書のコードを自分のプロジェクトに応用する方法
技術書のサンプルコードを写経するだけでは実力は伸びません。書籍のコードを自分のプロジェクトに応用し、実務で使える力に変える 5 つのステップを解説します。
本を読んでもすぐにコードが書けなくて当たり前
本を 1 冊読み終えたのに、いざコードを書こうとすると手が動かない。これは普通のことです。読書とコーディングの間にあるギャップと、その埋め方を解説します。