読者です 読者をやめる 読者になる 読者になる

学習のためにGithubを徘徊する

ちょっと間が空きましたが前回の補足。

プログラミング初心者が中・上級者になるためには、GithubのリポジトリをWatchすればいいんじゃないかな - iakioの日記

  • 自分で問題を解決しようとするだけだと、自分の発想にとらわれがちなので、他人のコードも参考にした方が良い
  • だけど、コードを0から読むのは大変なので、興味のあるところからつまみ食いするのが良い
  • そこで、GithubのPull RequestをWatchするのはどうか。興味の持てそうな話題以外は読み飛ばしても良い(数十件に1つくらいを真面目に見てみるくらいの感覚で良いと思う)

という話でした。

さて実際、僕がGithubを徘徊していてなるほどなと思った体験を1つ挙げてみます。

Gitlistは、PHPで実装されたGitのリポジトリビュワーで、Silexというフレームワークを使って実装されています。SilexはSymfonyコンポーネントを使った軽量Webフレームワークで、Symfonyの開発者でもあるfabpotことFabien Potencier氏が開発しています。

で、このGitlistを見ていたら、fabpotからのPull Requestがありました。

Refactoring by fabpot · Pull Request #74 · klaussilveira/gitlist · GitHub

例えて言うなら、RailsのアプリケーションをGithubで公開していたらDHHからPull Requestが来たみたいな話です。まさに「Silexを使うならこう使え」と言わんばかりの内容でした。

特に今まで何のためにあるのかわからなかったPimpleのextendメソッドの使い方はなるほどなと思いました、という話は以前にも書いたので詳しくはこちらをご覧ください。

Pimple 2.0がリリースされたのでPimpleについて復習してみる - iakioの日記

さて、そういったことを思い返してみると、人に注目してみるのはGithubを徘徊する1つの方法かもしれません。あのライブラリを書いた作者は他にはどんなものを作っているのだろう。どんな他のプロジェクトに注目しているのだろう、といった具合に。

あるいは、Most active GitHub users (by contributions). http://twitter.com/paulmillrで、お気に入りの言語からアクティブなユーザーを見つけて、そこからたどってみるのも良いかもしれません。