「気になったらOSSのコード+αを読んでいる」という自分になる by きんじょうひでき

PHP Conference Japan 2021
Regular session (25 mins)
Architecture

「気になったらOSSのコード+αを読んでいる」という自分になる

o0h_ きんじょうひでき o0h_
3

私事ですが、身をおいている環境の変化により、自分より若手の開発者と接する機会が増えてきました。
そんな中、ある時「どうしたらコードをうまく書けるようになりますか?」と質問をされたのです。
私はふと「コードをたくさん読むと良いよ」なんて答えたような記憶があります。

ソースコードをたくさん読むことはとても良いものです。実に多くの理由があります。
その中でも2つの点を強調するとしたら、

  1. 利用(依存)しているソフトウェアについて、「なぜ・どうやって動くのか」を自分の目で確かめられる。しかも、読めば読むほど「読むハードル」が下がる
  2. お手本となるコード、多様な書き方を見て自身の引き出しを増やしたり考えを深める材料となる

といったものがあると思います。

例えば、普段の業務の中で「モデルにあるhogeメソッドに処理が来るまでに、意図したデータが渡ってこない」なんていう時に。「フレームワークのコードを読んだら、データの渡り歩く経路が追えたので、”どこでデータが加工されていそうか”の勘所が掴めるようになった」と、納得感のある形で回答を得られることがあります。
あるいは、「この外部通信クライアントのテストをどう書こう?」→「実通信部分を担っているドライバ層のライブラリは、どうやってテストを書いているかをみてみよう」・「クラス名がググラビリティの低い単語になってて、情報が探り出せん・・・」→「実装を見てしまえば一瞬で処理がわかった!」などなど。

「読めること」あるいは「読んでみようと思えること」の恩恵は、様々な部分で感じられるでしょう。
とりわけ、「OSSのコードを読んで見る」ことは、世界中の開発者の目を通して磨き上げられたコードにアクセスできる可能性を意味します。

本セッションでは、「あまりコードリーディングってしていないかもなぁ」という人を対象に、「実際にOSSのコードを読んで見るにはどういう感じで取り組んでいけばいいのかな?」の例を示します。
実例のパートでは、Composerのコードを例に取りながら「気になるあの処理のコードを読んでみよう!」という取り組みも行います。