言うまでもなく、コーディングスキルを向上させるための王道は、出来るだけ多くのコードを実際に書くことです。
ですが、「書く」ことと同じくらい、他の人の書いたコードを「読む」ことも重要だと言えます。
プログラミングスキルを向上させるために、どのようなコードをどのように読むべきか。以下にまとめておきたいと思います。
何を読むべきか
読むべきコードの候補としては、おおよそ次のようなものがあげられます。
・自分で使っているプラグインやライブラリーのコード
・印象に残っているコード
・尊敬する人の書いたコード
・全体をしっかり理解できる規模のプロジェクトのコード
どのように読むべきか
次に、効率的にコードを読むための手順や注意点を紹介します。
・全体像を把握する
始めるにあたり、読もうとしているコードが何を機能させているのかを大掴みに把握している必要があります。プロジェクトのWebサイト、チュートリアル、ドキュメントなど、コード以外のものをまず読んでおきましょう。
その上で、最初のステップは、プロジェクトの構造を理解することです。選んだプロジェクトのコードベースの大きさによって異なりますが、それほど時間はかからないはずです。
ファイル構造を書き留めましょう。TextMateのような、フォルダー構造が使用できるエディターが役に立ちます。
このステップの目標は、ソースコードに親しむことです。どのファイルがどのファイルを含み、必要とし、ロードしているか。コードの本体はどこにあるのか。使用されているネームスペース。これらを理解しましょう。こうして全体像を把握してから、細部に踏み込んでいきます。
・気づいたことを書き留める
プログラムのフローを理解するために、立てた仮説や出た結論を文字にして、コメントとして付けておくことがおすすめです。初心者のうちは、以下のように拙いものでかまいません。
#この機能が呼び出されるのはInitializeの後。
#この方程式は何をしているのか?
#この変数はライン17の後にスコープをなくすはず。
理解が進むにつれ、より有意味で根拠のしっかりとしたコメントを付けられるようになっていくはずです。
・テストを使う
選んだプロジェクトにテストスイートがあれば、手に入れましょう。
テストはコードの意図された働き方を文書化したものなので、他の人の書いたコードを読む際に最初に取り組むのに適しているからです。コードを読むよりも、テストを読む方がプログラマーの意図を理解するのに役立つのです。
・プログラム実施、変更、再度実施
あれば良いと思う小さな機能を追加したり、プロジェクト全体で使えるログ機能を作成し、実際にプログラムを動かし、動作を確認してみましょう。ミステリー小説を読むように楽しみながらやっているうちに、理解が深まっていくはずです。
・何度も繰り返す
一つのコードベースを読み終えたら別のものを選び、同じプロセスを繰り返しましょう。出来るだけたくさんのコードを読むことによって、より短い時間でより多くの情報を得ることができるようになります。
・どこから始めるか
GitHubにあるコードから読み始めるのがおすすめです。GitHubであれば、新しいプロジェクトと有能な開発者を容易に見つけることができるからです。
いかがでしたか。コードを読むにも漫然と見るのでなく、以上のように手順化すれば、学習もしやすいと思います。ぜひ、活用してみてください。
(※本稿は「One Sure-Fire Way to Improve Your Coding」の一部を翻訳・再編集したものです)