公開日: 2025-06-21著者: Yov in YovStudio
「読む力」を深める「実験」としてのプログラミング
第 3 章では、FizzBuzz Plus のコードを実際に読みながら、「全体像をつかむ」「少しずつ細部を理解していく」というプロセスを体験しました。
そして、コードを読み進めているうちに、こんな気持ちがわいてきた方もいるかもしれません。
「このコード、実際どう動くんだろう?」
「もしここを変えたら、どうなるのかな?」
このような「問い」が自分の中に生まれたのならそれは、「読む力」が確かに育ってきている証拠です。 コードの中身を受け取るだけでなく、自分なりの「問い」が生まれる—— これはとても大切な変化です。
この章では、その「読みながら生まれた問い」を自分の手で確かめることにチャレンジしてみましょう。 あくまで目的は「書くこと」ではなく、「読む力」を深めるための「小さな実験」です。
とはいえ、「まだ読むだけで精一杯で、そんなことまで考えられない……」、という方もいるかもしれません。それはそれで全く問題ありません。
今回の「小さな実験」を通じて、着実に「問いを持てる感覚」も育っていくので、焦らず自分のペースで取り組んでいきましょう。
気になったところを「少し変えてみる」
前回読んだコード(再掲)
function fizzBuzzPlus(n) {
for (let i = 1; i <= n; i++) {
let output = '';
if (i % 3 === 0) output += 'Fizz';
if (i % 5 === 0) output += 'Buzz';
if (i % 7 === 0) output += 'Plus';
console.log(output || i);
}
}
fizzBuzzPlus(30);
まずは、前回読んだコードの中で、気になったところや「こうすれば違う動きになるかも」と思った部分に、実際に手を加えてみましょう。
たとえば…
✅ 例 1:出力の順番を変えてみる
if (i % 7 === 0) output += 'Plus';
if (i % 5 === 0) output += 'Buzz';
if (i % 3 === 0) output += 'Fizz';
仮説:
「表示される文字列の順番が変わるかも?」
確認してみると:
21
は PlusFizz
と表示されます。修正前は FizzPlus
でしたので、確かに順番が変わっていますね。
あと、ここでは省略しますが、他にも 15
にも変化があるはずですよ。
// 修正前の実行結果(一部抜粋)
...
17
Fizz
19
Buzz
FizzPlus
22
...
// 修正後の実行結果(一部抜粋)
...
17
Fizz
19
Buzz
PlusFizz
22
...
✅ 例 2:continue
で出力をスキップしてみる
if (i % 3 === 0) continue; // 3の倍数のときはスキップして次のループへ
仮説:
「Fizz が出るはずの場所が、まるごと出力されなくなる?」
確認してみると:
たしかに 3
や 6
など、Fizz が表示されるはずだった行が出てこなくなっていますね。
// 修正前の実行結果(一部抜粋)
1
2
Fizz
4
Buzz
Fizz
Plus
...
// 修正後の実行結果(一部抜粋)
1
2
4
Buzz
Plus
...
「読む」ために「触る」というアプローチ
こうしたちょっとした変更は、「書く練習」というよりは 「読む力」を強化するリーディング・エクササイズのようなものです。
具体的には、以下のような読みの力が磨かれます。
- 動作の予測力:「こう動くはず」という仮説を立てる力
- 文法や構造の理解:「変えた部分がどこに影響するか」を読み取る力
- 違いを観察する力:「変える前と後で何がどう変わったか」を比べる力
実務でも「少し変えてみる」はよくあること
実際に仕事でコードを読むときは、「まず全部理解してから」なんて、時間的にも無理なことが多いです。
そんな時は「ここ変えたら画面に反映されるかな?」と予想して、少し手を加えながら動かし、どう処理が流れるかをつかんでいく、なんてことも多いです。
だから「手を加えてみる」って、決して特別なことじゃないんです。 実務の中でも自然と使う、「読む力」を補強する立派な手段なんですよ。
「小さな実験」アイデア集(自由に試して OK!)
以下は、コードを少し変えてみるためのアイデア集です。
全部をやる必要はありません。気になったものを、気軽にひとつ試してみるだけでも OK です。
コードの変え方の例もあわせて載せているので、気軽にコピペして試せますよ。
もちろん、ここに載っていないものでも、自分が気になったことがあればぜひ試してください。
「小さな実験」内容 | どんな気づきが得られるか | コードの変え方(例) |
---|---|---|
1. “Plus” を “P” にしてみる | 出力がよりシンプルになるメリットはあるけど、意味が分かりづらくなるかもしれない | output += "Plus"; を output += "P"; に変更 |
2. 偶数に別の文字列を加える | 数字の性質に応じた条件追加を試せる | if 文が並んでいるところに if (i % 2 === 0) output += "Even"; を追加 |
3. 出力にカンマやスペースを加える | 見た目の工夫と文字列の扱いが分かる | console.log(output || i); を console.log(i + ": " + output); に変更 |
4. 出力が空なら数字を表示しない | if文 のネストやロジックの組み立てを体験 | console.log(output || i); を if (output !== "") console.log(output); に変更 |
5. 7 の倍数のときに出力を 2 回繰り返す | 出力操作の自由度と繰り返し方を考えられる | if (i % 7 === 0) output += "Plus"; を if (i % 7 === 0) output += "PlusPlus"; に変更 |
6. 条件式を消してみる | 条件がないと毎回実行されるからちょっと変な動きになるかも?でもそれが大事な発見 | if (i % 3 === 0) output += "Fizz"; を output += "Fizz"; に変更 |
7. console.log を消してみる | 何も表示されなくなって、「出力って大事なんだな」と気づける | console.log(output || i); を削除 |
8. 関数呼び出しを消してみる | 「関数は定義しただけじゃ動かないんだ!」という基本に立ち返れる | fizzBuzzPlus(30); を削除 |
ここに載せたのはあくまで一例です。
ほんの少しの変更でも、そこから新しい発見につながることがあります。
「正解を目指す」のではなく、「ちょっと気になったから確かめてみる」。
それが、「読む力」を育てる一番の近道かもしれません。
「読む」を深めるには、ちょっと試すことが一番
読んでいるだけでは、「あっているのかな?」と不安になることがあります。 でも、自分で試してみて「ああ、こういうことか」と納得できる瞬間は、「読む力」が少しずつ自分の中に定着していく瞬間でもあります。
この章でやってみたような「ちょっと手を加える」行為は、決して特別なスキルではなく、実はとても自然な「読み方」のひとつなんです。
「読む力」は、手を動かして育つ
- コードを読むとき、「こう動くかな?」という仮説が生まれたらチャンス
- 少しだけ手を加えて試してみることで、読みが確信に変わる
- この「試しながら読む」体験が、「読む力」を一歩深めてくれる
ここまで、「読む」「読みながら試す」ことを通じて、プログラムとじっくり向き合ってきました。
次の章では、「どんなコードに触れていくと力がつくか?」という視点で、読みの練習になる題材を紹介します。
実務でも役立つ「読み慣れ」の感覚を、ここから一緒に深めていきましょう。