📑
【イベントレポート】コードを読み解きながら体験する!初心者が身につけておきたい「プログラムを読む技術」2 - 読み方編 -
公開
2025-02-19
文章量
約3097字
2025年1月14日、オンラインで開催された「コードを読み解きながら体験する! 初心者が身につけておきたい『プログラムを読む技術』2 - 読み方編 -」は、プログラム読解力をテーマにした非常に興味深いイベントとなりました。
前回(1回目)のイベントでは、身近な自動販売機を例に「なぜコードを読むのが難しいのか」を探りつつ、コードを読むための基本的な視点を学習。今回はその“続編”として、実際のコードをいっそう踏み込んで読み解き、どうやってプログラムを「頭の中に再構築する」のかを学ぶ「読み方編」という位置づけでした。
本イベントの講師を務めたのは、「書くスキルも設計スキルも飛躍的に上がる!プログラムを読む技術」の著者である 岩松 洋 氏。
前回に引き続きの登壇で、具体的なコード読解のワークショップを絡めつつ、読み解くポイントやコツを伝授する、まさに「体験しながら学ぶ」内容が展開されました。
イベント概要
- タイトルコードを読み解きながら体験する! 初心者が身につけておきたい『プログラムを読む技術』2 - 読み方編 -
- 日時・開催形式2025年1月14日 / オンライン開催
- 講師
- 岩松 洋 氏(合同会社グランドサークル代表)
- プログラミング教育やシステム設計コンサルを手掛けながら、技術書の著者としても活動
- 著書:
- 『神と鉛筆で学ぶ アルゴリズムとフローチャート』
- 『書くスキルも設計スキルも飛躍的に上がる! プログラムを読む技術』
- 対象
- プログラミングを学び始めた初心者〜初級者
- 上級者でも「後輩育成におけるコード読解指導」を参考にしたい方
- 内容
- 「なぜプログラムを読むのが難しいのか?」の復習
- 実際のコード(Python)を用いた読解ワークショップ
- コードを読む際の3つのステップ(メイン部分の特定・分解 / データ構造の把握 / コメントの効果)
- 質疑応答・まとめ
1. 「プログラム読解」の重要性と課題
冒頭、岩松氏は「初心者から中級者あたりの方が最も苦労するのは、『他人の書いたプログラムを読むこと』だ」と指摘。実際にプログラミングを学んで1〜2年経った生徒が「文法や基本構文はわかっても、読み解き方がわからない」という声が多いそうです。
この「読み解きづらさ」は、プログラムの“設計”を頭の中で再構築しなければならないことが原因といいます。つまり「書いた人の意図を理解してこそ、コード全体がわかる」ためであり、単に1行ずつ文法を追いかけても情報が断片化してしまうからです。
2. ミニワークショップ:3目並べゲームのコードを読んでみよう
メインのワークショップでは、「三目並べ(丸バツゲーム)」をPythonで実装したサンプルコードを題材に使い、参加者に実際のソースを読んでもらいました。
ステップ①:メイン部分を探す
- PythonにはC言語のような
main()
が明示されていないので、「どこが“実行の入口”なのか」を見つけることが第一歩 - 今回のサンプルでは、ファイル下部(およそ117行目付近)にインデントされずに書かれた処理ブロックが“メイン相当”
- 「関数定義が終わった後の部分に注目しよう」とのアドバイス
ステップ②:メインを分解する
- 「先行・後攻の決定」「ボード描画」「プレイヤー入力→勝利判定→繰り返し」など、全体フローをざっくり見て、やっていることを把握
- それぞれの処理が、別の関数呼び出しになっているか/あるいはメイン内部に書かれているかを見ていく
ステップ③:グローバル変数やデータ構造を確かめる
- Pythonではインポートの直後やファイル上部に“グローバル変数”として定義されているケースが多い
- 今回も、
FIELD
(ボードの状態を保持する配列)やMARK
(丸/バツを数値で管理)などを確認すると、ゲームの「設計意図」が把握しやすい - 「先行か後攻か」「フィールドのどこにマークが入っているか」をどう管理しているかを読むことで、動作イメージがつかめる
3. コメントをどこに書けば「他人に伝わる」か
ワークショップの締めくくりとして、「もし1カ所だけコメントを書くなら、どこに何を書くか」を考える演習が行われました。参加者からは:
- メインの入口 (
117行目
) に「このプログラムの全体フロー」を整理したコメントを入れる - 勝利判定の関数 (
check_winner
) に「どんなロジックで3マス並びをチェックするか」を補足 MARK
やFIELD
など、抽象的な名前だけでは伝わりにくいグローバル変数に用途のコメントを入れる
など、さまざまなアイデアが出ました。「コメントは1行1行に入れるのではなく、『要所を選んで、読解の糸口を提示する』ことが大事」と岩松氏はまとめていました。
まとめ & Key Takeaways
- プログラムを読む=設計を読み解く1行ずつ追いかけるだけではなく、「何を解決するプログラムか」を事前情報(ドキュメント・ファイル名・作者に質問)から把握する→ メイン処理の流れやグローバル変数など、コア部分を先に押さえて全体像を掴む
- “読み方手順”の例:
- メイン部(実行の入口)を探し、全体フローをざっくり分解
- グローバル変数・データ構造を確認(どんなデータを何の目的で持っているか)
- 必要に応じて関数をさらに掘り下げる(ロジックやアルゴリズムを読み解く)
- コメントは「要所」を押さえる
- 何のための変数か?
- メイン処理で最も重要な流れは?
- この関数は何をやる?入力・出力は?→ 他人が「設計意図を再現しやすい」情報を簡潔に書く
- 上達には“繰り返し読む”ことが不可欠
- “読む力”は、書いて慣れるより習得に時間がかかりやすい
- ただし本番のコードを「何らかの目的」(デバッグ・レビュー・改修など)を持って繰り返し読むと効率UP
「コードを読む力がつくと、設計意図を理解する→自分でコードを書くときの設計もうまくなる」と岩松氏。まさに「読む力は書く力にも直結」する。
今回の講演で紹介された書籍
- 『書くスキルも設計スキルも飛躍的に上がる! プログラムを読む技術』
- 著者:岩松 洋
- 初心者がプログラムを読み解く際に陥りがちな問題を丁寧に整理し、「どこからどう読み始めるか」「設計意図をどう再構築するか」を平易に解説。
- 『紙と鉛筆で学ぶ アルゴリズムとフローチャート』
- 同氏の前著。プログラムの“書き方”にフォーカスしながら、設計スキルを紙とペンで習得するアプローチが特徴
参加者の声
- 「実際の短いコードを題材に、『最初に調べるべきところを探す→読む』の流れが具体的で分かりやすかった」
- 「コメントの付け方や変数名を後追いで理解する重要性など、初心者~中級者にもためになるお話が多かった」
- 「読解のプロセスを体験できたのが大きい。自分の苦手箇所がわかった」
まとめ
「コード読解」は、初心者のみならず中級以上のエンジニアにとっても生涯にわたるテーマです。
本イベントでは、「なぜ読むのが難しいのか」「どこから読めばいいのか」「読む前に使えるヒントは?」といった基礎から、短いコードをみんなで分解して“手を動かす”実践までがコンパクトに体験されました。
- ポイントは、あくまで“設計の再現”を意識すること。
- そのために「プログラムの目的→メイン→グローバル変数の把握」の優先度で読む。
- コメントも適切な箇所にシンプルに書く。
これらの技術をマスターすれば、書くスキル・設計スキルが飛躍するのも納得です。
今回参加できなかった方も、ぜひ「プログラムを読む技術」の著書などを参考に、コード読解スキルを高めるきっかけにしてみてはいかがでしょうか。
Yardでは、テック領域に特化したスポット相談サービスを提供しています。
興味がある方は、初回の無料スポット相談をお申し込みください。
また、資料請求やお問い合わせもお待ちしております。テック領域の知見を獲得し、事業成長を一緒に実現していきましょう。