ソースコードリーディングはいいぞ
この記事は Willgate Advent Calendar 2018 - Qiita 2 日目の記事です。
皆さんソースコードリーディングしていますか?お恥ずかしながら、僕は最近読むようになりました!
実際やってみると、ソースコードリーディングによって得るものが多いことを知り、今では読書感覚でフレームワークやライブラリのソースコードを読むことも…
今回は、ソースコードリーディングによって何が得られるのかについて書きたいと思います!
結論:ソースコードリーディングはアウトプットするチャンスの塊
何故ソースコードリーディングが良いのか。それは、ソースコードリーディングがアウトプットに繋がりやすいからだと僕は思います。
僕自身、アウトプットのきっかけとなっているのがソースコードリーディングによるものが一番多いです。
チャンスその1:業務で活かせる
ライブラリやフレームワークなどのソースコードを読んでいくと、細かい挙動まで処理を把握することができます。
すると、「思わぬ挙動によってバグが発生してしまった!」なんていうことを防ぐことができます。どんどん読み進んでいけば、「あのライブラリ・フレームワークについてならこの人に聞くと良いよ」という評価を得ることもできるかも…!
特にフレームワークのソースコードを読むと、徐々に「良い設計とはなんなのか?」ということも学べるので、設計の勉強にもなります。
チャンスその2:ブログ記事のネタになる
ソースコードを読んだ結果わかったことをブログに書くだけで、立派なアウトプットの 1 つとなります。
僕も Laravel の Collection メソッドについて記事を書いていますが、1 メソッドだけでもなかなかの分量になります。
チャンスその3:OSS に参加できる
ソースコードを読み進めていくと、「あれ? 何故ここでは、こんな処理が無いのだろう?」「あれ、ここにエラーハンドリングが無いのは何故だろう?」など疑問点が出てくることがあります。それは、思想によるものだったり、単なる考慮漏れだったり…様々な理由があります。
そんな時、もちろん身近で詳しい人に聞くのもありですが、issue や pull request を立てるというのも手です!
僕自身もソースコードを読んでいて、疑問に思ったことや思ったことを何回か issue に立てています。
issue や pull request を立てると GitHub では 1 contributionとして扱われるので、commit 以外でもcontributionの草を生やしていくことができます。
最後に
今回あげたアウトプットチャンスは、あくまで一例です。他にも LT 会やセッションの登壇ネタになったり、読み進めていけば執筆のチャンス…なんていうこともあるかもしれません。
「最近アウトプットしていないなあ…」と悩んでいる人は、ぜひソースコードリーディングをお勧めします!