GitHubで人のコードを読んでみて思ったこと
今まで仕事以外で人のコードを読むという機会が極端に少なかったので
外部のコードはどんな感じなんだろうと思って最近GitHubでAndroidの完成プロジェクトを探して読んでます。
そこでいろいろと思ったことがあったので書いてみます。
自分の知識の幅が広がる
すごい当たり前のことなんですが、
人のコード読むと今まで知らなかった実装方法だったり設計だったり変数やメソッドの命名だったりを知れます。
例えば、最近次のリポジトリのソースを読みました。かの有名なジェイクさんの書いたコードです。
JakeWharton/u2020 · GitHub
自分は今までカスタムビューをほとんど使ったことがなかったのですが、ここではFragmentではなく自作のカスタムビューを主に使用しているようでした。
なんでだろうと調べたら次のようなエントリを見つけて、カスタムビューの利点やフラグメントの問題点を知る事ができたり。
【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary
Androidは個人的にやっているので、多分人のコードを読まなければ知ることはなかったと思います。
ググる以外の選択肢が増える
自分だけかもしれませんが、メソッドや変数、xmlのIDの命名、パッケージの分け方、設計などいつも非常に悩みます。
変数名を考えるだけで30分使ってしまったり。。
そういうときに今まではググって調べたりしていましたが
最近ではあのプロジェクトではどんな感じで実装していただろうかと見て実際に取り入れています。
なんでこんな実装にしているのだろうとか考えたり、調べてみるとさらに知識が増えたりととても良いです。
ググって出てきた情報は断片的であったり間違っている事もあるので、GitHubでStarが沢山ついているプロジェクトを見るのも良いのかなと思ったり。
Googleの公開しているAndroidのサンプルのプロジェクトはとても参考になります。
google/iosched · GitHub
やる気がでた
良いコードを読むと今の自分では到底書けないようなレベルの高いコードに触れることができました。
自分ってまだまだだなーと思ったり、もっと良いコード書きたいなと思ったり非常に刺激になりました。
自分はどちらかと言えば負けず嫌いなのでもっと良いコード書けるようになりたい!と学習の原動力になっています。
ということで良いコードを読む事は自分にとってプラスに働いていて
とても刺激になったり新しく知識が得られたりと良い方向に作用しているので今後も続けていこうかと思ってます!