「開発現場で既にあるコードに対して修正を行うことになったのだけど、コード量が多すぎてどこから読んだら良いか分からない。今回はそういった悩みを解決します。他人のコードを読んだ経験を生かそう記事の信頼性この記事を書いている私はエンジニア歴8年で、今も開発現場でプログラミングをしています。いった経験から、プログラミングを勉強している方に向けてアドバイスをお伝えすることができます。今回は「ソースコードの読み方」というテーマについて解説します。開発現場では他の人が書いたコードを読む機会がたくさんあるので、読み方のコツを知っていると役立ちます。本記事では、開発現場で使えるソースコードの読み方のコツを現役エンジニアの私が紹介します。この記事を読むことで、他人の書いたコードをスラスラと読めるようになりますよ。【本質】ソースコードを読むコツはソースコードを読まないこといきなりコードを読み始めると撃沈しますコードを読み始める前に8割程は勝負が決まる【現役エンジニア直伝】ソースコードの読みほぐし方コードを読む目的を明確にする読まなくても良い部分は読まない推測しながら読む無駄なコードは消して読むメモを取る動的デバッグする他人のコードを読む経験を生かそう【本質】ソースコードを読むコツはソースコードを読まないこと「いきなり何を言っているんだ・・・?」と感じるかもしれませんが、結構本質的なことで重要です。理解できていない人はちょっと怪しいコードの読み方をしているかもしれません。いうことか、具体的に解説します。コードを読み始めると撃沈しますまず、いきなりソースコードを読み始めると撃沈するのでやめましょう。長年動いているシステム系は一千万行とかの単位でソースコードがあるので、1日千行読んだとしても千日かかります。単純計算で全部読むのに3年かかる計算ですね。この数値から分かるように、無策にコードを読み始めると途方も無い時間がかかるので無理ゲーです。プログラミング初心者あるあるで、気持ちはよく分かりまが、いきなりコードを読み始めると撃沈するのでやめましょう。コードを読み始める前に8割程は勝負が決まるソースコードを読んで理解するには、コードを読み始める前に8割程は勝負が決まると言っても過言ではないかと。いうのも、コードの読み方を知っているかいないかで、作業効率は大きく変わります。本記事では巨大なシステム開発を行う現役エンジニアが、ソースコードの読み方のコツを伝授します。私が普段ソースコードを読む時に意識していることは次の6つです。コードを読む目的を明確にする読まなくても良い部分は読まない推測しながら読む無駄なコードは消して読むメモを取る動的デバッグする1つずつ説明していきます。コードを読む目的を明確にするまずはコードを読む目的を明確にして、常に意識しながら読むことです。目的によってコードの読み方は大きく変わるからです。次のようなイメージです。構造を理解する:各処理の詳細は追わずに、全体の流れや役割を把握するようにザッと読んでいく。不具合解析をする:原因箇所を特定したら徹底的に読む。メソッドの名前とかコメントとか何も信じない。書いてある通りに動く。上記のように、目的が変わればコードの読み方も変えることがコツです。コードを読む前に目的を明確にしましょう。読まなくても良い部分は読まない次は、読まなくても良い部分は読まない工夫をしましょう。目的を果たすために不要な情報を読んでも前に進めないからです。大規模なシステムだと、どこから読めば良いか分からず、いたずらに読み始めると何日あっても時間が足りません。設計書があれば事前に構造を把握して、読むべきところを絞り、知りたいところだけを読むべきです。コードを読む時は、読まなくても良い部分は読まない工夫をしましょう。推測しながら読むコードを読む時は全体像や処理をある程度推測しながら読むと、内容が理解しやすくなります。メソッドの中身をいちいち事細かに読んでいては時間が足りませんし、効率が悪いです。クラスやメソッド名から何をしている処理なのかある程度推測しましょう。次のようなコードがあったとしましょう。File.Open(configFilePath);~中略~File.Write(newConfigFilePath);Fileクラスのopenメソッドやwriteメソッドにファイルパスを渡していたなら、何かの文章を開いたり、ファイルに出力していることが推測できますよね。この時、中身の実装がどうなっていようと全体把握の段階では気にする必要はありません。コードの概要を推測することで、全体把握に役立ちます。無駄なコードは消して読む無駄なコードは消して読みましょう。知りたいこと以外の情報が入ってくるとノイズでしかないからです。次のようなものは消してから読むと理解しやすくなりますよ。役にたたなさそうなコメント上記のようなノイズを真面目に読むと実現したい機能がなんだったのかボケてきてしまいます。コードを読む際は、いらないコードを消してしまい、必要な部分だけ残して読むと効率的に読めます。メモを取るコードを読むときは、クラスの関係ややメソッドの繋がりをメモしながら読むことをオススメします。いうのも、一度読んだだけだと案外忘れるもので、気づいたら何回も同じコードを読んだりしてしまうんですよね。そこで、読んで分かった内容や構造をメモしておくと二度手間を避けつつ、頭の整理にも繋がります。動的デバッグする実際に動かしながらコードを追う動的デバッグも非常に有効です。百聞は一見にしかずで、実際の動きを見ながらコードを追うことができれば膨大なソースコードのどこを通っているかが確実に理解できます。一時変数の中身などスナップショットの状態もわかるので、解析などで非常に役立ちます。統合開発環境を使っている方は動的デバックを積極的に使っていきましょう。プログラミングにオススメの統合開発環境やエディタについては以下の記事で詳しく解説しています。>>参考:【完全偏見】プログラミングにオススメのテキストエディタ他人のコードを読む経験を生かそうということで、今回はソースコードの読み方について解説しました。他人の書いたコードを読むことは最初は難しく感じますが、慣れてくればどうってことはないですね。逆に自分がコードを書く時はどうすれば良いかを考えながら読むとスキルアップに繋がります。他人が書いたコードを読むと、恥ずかしくないコードを書きたいなぁと思うんじゃないでしょうか(笑)そんな時にオススメの本がこちら。カエレバ楽天市場AmazonYahooショッピング7netエンジニア界では名著の1冊です。リーダブルコードを読むことで、コードを書く時に気をつけるべきことや読みやすいコードとは何かを理解することができます。エンジニアを目指すのであれば、プログラミングの勉強と合わせてぜひ読んでおきたい一冊です。コメントをキャンセルメールアドレスが公開されることはありません。新着記事プログラミング2020/2/21僕がプログラミングをするときに紙のノートを使う3つの理由プログラミング2020/2/20デバッグを制すものはプログラミングを制す【3つのコツと真髄を伝授】プログラミング2020/2/20【作業効率爆上げ】プログラミングをするならデュアルディスプレイ推奨プログラミング2020/2/14CodeCampの評判は?特徴と実体験レビューをまとめてみた【割引特典あり】プログラミング2020/2/14【本質】ソースコードを読むコツはソースコードを読まないことカテゴリーブログライフスタイル仕事コードプログラミングコミュニティドナちきドナ●ドを人間化して可愛さ成分を取り除いた30代サボリーマン&エンジニア。半年後に副業月20万で人生を変える。脱サラ&独立に向けて爆進中。『楽しんで稼ぐ』がモットー。ブログのノウハウ|エンジニアを目指す人へ有益情報発信中。ブログを共に頑張るコミュニティ「B-ENGINE」運営。AFFINGER5.。