YovStudio

article 第 4 章:少し手を加えてみる

公開日: 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';

仮説
「表示される文字列の順番が変わるかも?」

確認してみると
21PlusFizz と表示されます。修正前は FizzPlus でしたので、確かに順番が変わっていますね。
あと、ここでは省略しますが、他にも 15 にも変化があるはずですよ。

// 修正前の実行結果(一部抜粋)
...
17
Fizz
19
Buzz
FizzPlus
22
...

// 修正後の実行結果(一部抜粋)
...
17
Fizz
19
Buzz
PlusFizz
22
...

✅ 例 2:continue で出力をスキップしてみる

if (i % 3 === 0) continue; // 3の倍数のときはスキップして次のループへ

仮説
「Fizz が出るはずの場所が、まるごと出力されなくなる?」

確認してみると
たしかに 36 など、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); を削除

ここに載せたのはあくまで一例です。
ほんの少しの変更でも、そこから新しい発見につながることがあります。
「正解を目指す」のではなく、「ちょっと気になったから確かめてみる」。
それが、「読む力」を育てる一番の近道かもしれません。

「読む」を深めるには、ちょっと試すことが一番

読んでいるだけでは、「あっているのかな?」と不安になることがあります。 でも、自分で試してみて「ああ、こういうことか」と納得できる瞬間は、「読む力」が少しずつ自分の中に定着していく瞬間でもあります。

この章でやってみたような「ちょっと手を加える」行為は、決して特別なスキルではなく、実はとても自然な「読み方」のひとつなんです。

「読む力」は、手を動かして育つ

  • コードを読むとき、「こう動くかな?」という仮説が生まれたらチャンス
  • 少しだけ手を加えて試してみることで、読みが確信に変わる
  • この「試しながら読む」体験が、「読む力」を一歩深めてくれる

ここまで、「読む」「読みながら試す」ことを通じて、プログラムとじっくり向き合ってきました。
次の章では、「どんなコードに触れていくと力がつくか?」という視点で、読みの練習になる題材を紹介します。 実務でも役立つ「読み慣れ」の感覚を、ここから一緒に深めていきましょう。