『プログラムを読む技術』を読んで、コードリーディング力が大きく向上した話
こんんちは!
たてあつです。
私は、業務の中で「プログラムを読む力」は、想像以上に重要だと感じています。
最近、書籍 『プログラムを読む技術』 を読み、コードリーディングに対する考え方が大きく変わりました。
また、近頃、生成AIの登場で、コードが自動生成される事が、
多い中、コードリーディングと修正する力は、
必ず、必要だと感じました。
この記事では、読書を通して学んだことと、実務や生成AI時代にどう役立つかをまとめます。
業務でプログラムを読む場面はとても多い
実務では、次のような場面でプログラムを読む機会があります。
・バグ修正・デバッグ
・機能追加・仕様変更
・ソースコードレビュー
・コードのリファクタリング
・他人のコードの引き継ぎ
・コードのドキュメンテーション
・テストコードの作成
「コードを書く」以上に、「コードを読む」時間のほうが長いことも珍しくありません。
プログラムの基本構造は「入力 → 処理 → 出力」
本書であらためて意識するようになったのが、
すべてのプログラムは「入力 → 処理 → 出力」で構成されているという考え方です。
この視点を持つだけで、複雑に見えるコードも整理して理解しやすくなります。
プログラムの読み方の基本
- まず全体を把握する
- 次に1行ずつ読み解く
いきなり細かい処理を追わず、「全体 → 詳細」の順で読むことが重要だと学びました。
全体を把握するためのポイント
全体像をつかむために、次の点を意識します。
このプログラムは何を目的として作られているか
作者はどのような設計思想で書いているか
どこで、どのような処理が行われているか
目的と構造が分かると、細かいコードも自然と理解しやすくなります。
プログラムを読む前にやるべきこと
コードを開く前に、次の行動がとても重要だと感じました。
・ドキュメントを探す
・プログラムを書いた人に聞く
・実際にコードを実行してみる
プログラムの目的から「入力・処理・出力」を想像する
特に、コードを実行して挙動を見ることは非常に効果的です。
フロントエンドから処理を想像する
入力画面(フロントエンド)を起点に、
どんな入力があるのか
その入力がどこに渡されるのか
最終的に何が出力されるのか
を想像すると、バックエンドの処理も追いやすくなります。
変数の読み方が理解の鍵
変数を読む際は、次の点を意識します。
・変数名から目的を推測する
・変数の有効範囲(スコープ)を把握する
どこで代入され、どこで参照されているかを確認する
変数の流れが追えると、プログラム全体の動きが一気に見えてきます。
繰り返し文(ループ)の読み方
繰り返し処理では、次の視点が重要です。
・この繰り返しで実現したいことは何か
・どの単位で繰り返しているか
・1周ごとに何が行われているか
「何回回っているか」よりも、「何を目的に回しているか」を意識するようになりました。
クラス・業務システムを読むときの視点
業務システムでは、
・詳細設計書を読む
・システム全体の構成を把握する
ことが理解への近道だと感じました。
クラス単体ではなく、「システムの中での役割」を意識するのがポイントです。
まとめ:コードを読む力は確実に伸ばせる
本書を通して、
・プログラムの全体像
・入力・処理・出力の流れ
・変数・ループ・クラスの読み方
これらを意識できるようになり、
「コードを読んで理解できる」という実感を持てるようになりました。
特に、生成AIが出力したコードを理解・修正する場面で、この力が非常に役立っています。
今後も継続して学習し、さらに理解を深めていきたいと思います。
最後まで読んでいただき、ありがとうございました!