Kuwapp's Blog

Android と Flutter やってます

GitHubで人のコードを読んでみて思ったこと

今まで仕事以外で人のコードを読むという機会が極端に少なかったので
外部のコードはどんな感じなんだろうと思って最近GitHubAndroidの完成プロジェクトを探して読んでます。
そこでいろいろと思ったことがあったので書いてみます。

自分の知識の幅が広がる

すごい当たり前のことなんですが、
人のコード読むと今まで知らなかった実装方法だったり設計だったり変数やメソッドの命名だったりを知れます。
例えば、最近次のリポジトリのソースを読みました。かの有名なジェイクさんの書いたコードです。
JakeWharton/u2020 · GitHub

自分は今までカスタムビューをほとんど使ったことがなかったのですが、ここではFragmentではなく自作のカスタムビューを主に使用しているようでした。
なんでだろうと調べたら次のようなエントリを見つけて、カスタムビューの利点やフラグメントの問題点を知る事ができたり。
【翻訳】Android Fragmentへの反対声明 - ninjinkun's diary

Androidは個人的にやっているので、多分人のコードを読まなければ知ることはなかったと思います。

ググる以外の選択肢が増える

自分だけかもしれませんが、メソッドや変数、xmlのIDの命名、パッケージの分け方、設計などいつも非常に悩みます。
変数名を考えるだけで30分使ってしまったり。。
そういうときに今まではググって調べたりしていましたが
最近ではあのプロジェクトではどんな感じで実装していただろうかと見て実際に取り入れています。
なんでこんな実装にしているのだろうとか考えたり、調べてみるとさらに知識が増えたりととても良いです。
ググって出てきた情報は断片的であったり間違っている事もあるので、GitHubでStarが沢山ついているプロジェクトを見るのも良いのかなと思ったり。
Googleの公開しているAndroidのサンプルのプロジェクトはとても参考になります。
google/iosched · GitHub

やる気がでた

良いコードを読むと今の自分では到底書けないようなレベルの高いコードに触れることができました。
自分ってまだまだだなーと思ったり、もっと良いコード書きたいなと思ったり非常に刺激になりました。
自分はどちらかと言えば負けず嫌いなのでもっと良いコード書けるようになりたい!と学習の原動力になっています。

ということで良いコードを読む事は自分にとってプラスに働いていて
とても刺激になったり新しく知識が得られたりと良い方向に作用しているので今後も続けていこうかと思ってます!