社内OSSソースコードリーディング会を開催しました

f:id:cocoeyes02:20200330131245j:plain

コンテンツ業務改善チームの大津です。

今回自分が主催したOSSソースコードリーディング会の開催とその様子についてお伝えしたいと思います。

OSSソースコードリーディング会とは?

OSSソースコードリーディング会とは、OSSライブラリやフレームワークのソースコードを読み進め、OSSライブラリやフレームワークの仕様理解を深める会です。

ソースコードリーディングしたいライブラリやフレームワークは参加者自身が決め、もくもくと読んできます。

当日の様子

当日はこんな感じで告知をしました! slack でのOSSソースコードリーディング会告知

開始時刻になると、まずOSSソースコードリーディングのやり方やメリットについて大津が説明しました。 OSSソースコードリーディングのやり方について説明

説明に使用したスライドはこちらになります。

speakerdeck.com

説明が終わると、参加者自身が読むと決めたライブラリやフレームワークのソースコードをもくもくと読んでいきました!

もくもくとOSSソースコードリーディングしている様子

当日参加者が読んだライブラリやフレームワークの一例を紹介します!

  • Laravel LazyCollectionについて
  • CakePHP Collectionのextractメソッドについて
  • CakePHP FormHelperのinputメソッドについて

また、OSSソースコードリーディング中に詰まったところがあれば、適宜大津が手助けしたりしました!

OSSソースコードリーディング中に詰まったところを手助けしている様子

開催のねらい

OSSソースコードリーディングの敷居を少しでも下げたかった

弊社でもOSSのライブラリやフレームワークをサービスで使っています。
時に理解を深めたり調査をするため、OSSのライブラリやフレームワーク内部のソースコードを読まなければいけないことがあります。

しかし、いきなりOSSのライブラリやフレームワークを読み進めると、様々なスキルやテクニックが求められることに気づきます。

  • ソースコードの読み進め方
  • 言語仕様の理解
  • ドキュメントやソースコードのコメントに書いてある英文のリーディング
  • GitのログやIssue、Pull Requestなどの読解

今回の会を経て少しでも勘所を掴んでもらったり、OSSソースコードリーディングそのものの楽しさを知ってもらうことで、OSSソースコードリーディングを身近に感じてもらうことを会の目的としました。

OSSソースコードリーディングのメリットを知って欲しかった

説明で使用したスライドにも書いてありますが、OSSソースコードリーディングはアウトプットに繋げやすいというメリットがあります。

  • OSSソースコードリーディングでわかった内容をブログにまとめる
  • リーディング中疑問に思ったことをissueで聞いたり、バグを見つけて直してPull Requestを出す
  • 登壇のネタにする

実際にOSSソースコードリーディングをしてもらうことで、上記のメリットをより感じてもらうことも目的の一つとしました!

今後はどうするか?

今回開催したOSSソースコードリーディング会は、お試し開催でした。

開催してみてわかったことや改善点を振り返って、本開催を目指したいと思います!