先日の ソースコード読みの技術 に対するコメント。
お、Androidのソースの読み方だ!と思って読み始めた開幕が、「まずはそのコードを書いた本人に聞こう」なのはどうなのか(^_^;) https://t.co/X60mZtEfSj
— karino2@平民階級 (@karino2012) December 15, 2020
確かに。
私が書いた内容はオープンソースのコードを一人で読むのではなく、 仕事で大規模コードベースのプロジェクトに関わる時に、 いかに短時間でキャッチアップしてデザイン&コーディングできるようになるか、 という話ですね。
私は自力でコードを理解しようとしすぎていた時期があって、 後から考えると、 さっさと人に聞いた方が時間を節約できたなという反省があります。
logcat挟んだりデバッガで追うというのも自前ビルドした環境を持ってるという前提でなかなかスタート地点からレベル高いですなぁ。
— karino2@平民階級 (@karino2012) December 15, 2020
まぁAndroidは一例で自社の大規模コードベースを読むという話題と受け取ればそれなりにターゲットはいるのかもしれないが。
— karino2@平民階級 (@karino2012) December 15, 2020
(悪い他意の無い)大企業のお仕事コード読みという感じですな。こういうスキルもってる人は凄く希少な気はする。
— karino2@平民階級 (@karino2012) December 15, 2020
私は以前はマップの開発をやっていたこともありますが、 それと比べても Android OS は大量のコードを読む必要があります。
マップだと複数のシステムやデータ生成パイプラインが絡み、 システムの規模も大きく明らかに複雑なのですが、 わりとシステムやコードの切れ目がはっきりしていて、 その先はブラックボックスとして扱えることが多かった。 したがって、自分の仕事をする上で読んで理解しないといけないコードは少ない。
Android OS は境界が緩やかで、 かつ一つの変更が影響を与える範囲が広いので、 多く深く理解する必要があります。 代わりに、 「この先は相手のチームにお願いするしかない」という場面は少なくて、 その気になれば自分で必要な変更をできてしまう。
一般論として、コード読みをする時にどれだけ環境的な物に力を入れるかは腕が出る所な気はする。
— karino2@平民階級 (@karino2012) December 15, 2020
ツールや環境整備は凝りだすときりがないし、 面倒な作業から逃避するときの良い口実になりがちなので、 やりすぎも良くないです。