はじめに
・コードは読めるのに、どのファイルを見ればいいのか分からない人へ
ソースコードを見ようとしても、
・フォルダが多すぎる
・ファイル名が分からない
・どこに処理があるか分からない
👉 とりあえず適当に開く
👉 気づいたら迷子になる
こんな経験はありませんか?
業務で、
・不具合対応でこの処理を直したい
・仕様変更でこのロジックを修正したい
と思ったときに、
👉 「そもそもどのソースを見ればいいのか分からない」
という状態になることはよくあります。
フォルダを開いて、
・それっぽい名前のファイルを開く
・違ったので別のファイルを見る
・さらに別のクラスへ飛ぶ
👉 気づいたら
👉 「何を探していたのか分からなくなる」
これはとてもよくあるパターンです。
ここまで読んで、
「そもそもコードが追えない」
「処理を追る以前に、どこを見ればいいのか分からない」
と感じている方もいるかもしれません。
その場合は、まずこちらの記事から読むことをおすすめします。
👉 新人・初級PGが最初につまずくポイント5選
👉 なぜ仕様書とコードは繋がらないのか
👉 仕様書は読めるのにコードにできない人へ
👉 ソースは読めるのに処理が追えないのはなぜ?
これらは、
・なぜ手が止まるのか
・なぜ繋がらないのか
・どう繋げるのか
・なぜ途中で迷子になるのか
を順番に整理した記事です。
👉 今回はその前段として
👉 「どこから見ればいいのか」
を解説します。
結論
👉 「確実に分かる起点」から辿る
これだけです。
なぜ迷子になるのか
コードが追えない原因はシンプルです。
👉 全体から探そうとしている
でもコードは、
👉 繋がっている構造
👉 だから正解は
👉 1点から辿ること
起点とは何か
起点とは、
👉 「ここは確実に分かる」場所
👉 ここから辿れば迷いません
ここが一番重要
👉 最初から目的の場所を探さないこと
例えば、
「この不具合を修正したい」
「この処理を変更したい」
と思ったときに、
👉 いきなりその処理を探そうとする
すると、
・関係ありそうなファイルを開く
・違ったので別のファイルを見る
・さらに別のクラスへ飛ぶ
👉 迷子になります
正しいやり方
👉 「自分が分かっている場所」から辿る
例えば、
・この画面は分かる
・このボタンは分かる
・このAPIは知っている
👉 こういった「知っている場所」を起点にする
👉 そこから1つずつ辿る
👉 これが一番確実な方法です
UIでの具体例(分かりやすいケース)
もし「分かっている場所」が思いつかない場合は、
👉 UI(画面)から辿るのが最も分かりやすい方法です
例えば、
・ボタンを押す
・画面が表示される
・値が入力される
👉 この「画面」を起点にします
WPFの場合は、次のように辿れます。
View → ViewModel → Flow → Service → データ
👉 この順で追えば
👉 目的の処理に必ず辿り着きます
これはUIに限らない
ここが重要です。
👉 この考え方はUIだけの話ではありません
共通しているのは、
👉 「確実に分かる場所」から辿ること
他の層での起点
■ ミドル層
・APIエンドポイント
・処理の入口メソッド
・ログ出力箇所
例:
public IActionResult GetUser()
👉 ここが起点
■ ドライバ・基盤層
・受信イベント
・スレッド開始処理
・ハードウェアイベント
例:
OnReceive(data)
👉 ここが起点
共通していること
👉 どの層でも同じです
👉 「必ず通る場所」が起点
👉 そこから辿る
正しい追い方
Step① 起点を決める
👉 どこから始まるか
Step② 呼び出し先を追う
👉 1つずつ辿る
Step③ 1本の線にする
👉 分岐は後回し
👉 これで迷子になりません
よくあるミス
・最初からServiceを探す
・データから探す
・全体から検索する
👉 これ全部NG
👉 迷子になる原因です
まとめ
👉 コードが追えない原因は
👉 どこから見ればいいか分からないこと
👉 解決はこれ
👉 起点から辿る
✔ 1つだけ意識するなら
👉 「1点から辿る」
おわりに
今回の内容は、
👉 「どこから見ればいいか分からない人」向けでした
もし、
・なぜ手が止まるのか分からない
・仕様書とコードが繋がらない
・処理を追っていて迷子になる
といった段階でつまずいている場合は、
👉 まずは以下の記事から読むと理解しやすくなります
■ シリーズ記事
新人・初級PGが最初につまずくポイント5選
なぜ仕様書とコードは繋がらないのか
仕様書は読めるのにコードにできない人へ
ソースは読めるのに処理が追えないのはなぜ?
最後に
ここまで紹介した方法は、
👉 1回やれば終わりではありません
これを繰り返していくことで、
・自分が担当している機能の構成
・フォルダ構成
・どこにどんな処理があるのか
といった、
👉 **「全体像」**が少しずつ見えてきます
そして、
👉 「この処理ならここにあるはず」
と分かるようになり、
👉 最初から目的の場所に辿り着けるようになります
ただし、
👉 そこにいきなり到達することはできません
最初は、
👉 「分かる場所から辿る」
これを繰り返すことが大切です
この積み重ねが、
👉 「なんとなく分かる」から
👉 「ちゃんと分かる」へ
変わっていきます