コードを読むコツ
GitHub で検索
ファイル名で検索
ファイルをまたいで横断的に検索
レポジトリをまたいで横断的に検索
commit を検索
Redmine を読む
git の commit message に付いているチケット番号を頼りにチケットを検索
コードからはわからない、なぜ 変更したのか理由を読む.
社内の勉強会の資料を読む.
(賞味期限切れなドキュメントもあるので注意 :exclamation:)
ack, ag などを使う
The Silver Searcher と呼ばれているコマンドラインツール
高速な find ... | grep ... みたいなやつ
git で検索
git grep -- git 管理下のファイルに対して grep
git blame -- 1行1行最後にどの commit で変更されたかがわかる
git show -- COMMIT の変更を見ることが出来る
実際に動かしてみる
テストや自分で簡単なスクリプトを書いて動かしてみる
print や warn デバグ
構造化されたデータ
(ex) perl では use Data::Dumper; warn(Dumper(...)) python では import pprint; pprint.pprint(...)
デバッガーを使って break point を打って step in, step over などなど
GNU GLOBAL, etags, ctags, IDE などを使う
関数名, 変数名 の宣言に jump できる
経験上、動的型付け言語だったり、メタプログラミングをしてる部分はよく失敗する
IDE でも同等のことはできそう
ひらメソッド (2018/07/24 現在、本家の資料や wiki が見つからない... :sadpanda:)
ひらさんが考案したコードリーディング手法
LKH-jp(旧読学のススメ)で公開
ひらメソッドとは (個人見解)
wiki を使って巨大なソースコードをボトムアップに読む方法
トップダウンに読み進めていくと、知らない関数が多く出てくる → あれもこれもわからない...難しい...
ボトムアップに関数を wiki でメモしながら読むと、知ってる関数しか出てこない → さっきメモした関数だ!!!わかる!!!
実践されている方が多くいらっしゃるので、「ひらメソッド」で検索してみてください