引き継いだコードを、どこから読むか
人が書いたものを触る前に、読む順番を決めました。

この記事の結論
- 全部読まない。入口から追う
- データの流れを先に把握する
- 触る前に、動く状態を保存する
- 全部読まない。入口から追う
- データの流れを先に把握する
- 触る前に、動く状態を保存する
人が書いたものを引き継ぐ案件があった。読む順番を決めた記録を書く。
全部読もうとして止まった
最初は上から読んでいたが、進まなかった。
- 量が多く、終わりが見えない
- どこが重要か分からない
- 読んでも、全体像がつかめない
3つ目が問題だ。部分を読んでも、つながりが分からない。
入口から追う
やり方を変えて、入口から追った。
- 画面が表示されるまでの流れを追う
- 通る場所だけ読む
- 通らない場所は、後回しにする
3つ目で量が減る。使われていない部分が、かなりある。
データの流れを把握する
次に、データがどう動くか追った。
- どこから入ってくるか
- どこで加工されるか
- どこに保存されるか
3つ目を押さえると、触ってよい場所が分かる。
一覧を作る
読みながら、一覧を作った。
- ファイルと、その役割を1行で書く
- どこから呼ばれているか書く
- 分からないものは、分からないと書く
3つ目を書いている。空欄にすると、見落としたのか不明なのか区別できない。
説明してもらう
読んで分からない箇所は、説明を頼んだ。
- 該当部分を渡して、何をしているか聞く
- 説明を読んで、該当箇所を自分で見る
- 納得できなければ、別の聞き方をする
2つ目を省かない。説明だけで判断すると、確認したことにならない。
動く状態を保存する
触る前に、必ず控えを取った。
- ファイル全体を複製する
- データも控える
- 日付と「引き継ぎ時点」と書く
3つ目が後で役立った。元の状態に戻せる地点を作っておく。
手元に写す
本番を触る前に、手元に同じものを作った。
- 同じ構成を手元に用意する
- そこで動かして確認する
- 壊しても問題ない状態にする
3つ目が目的だ。壊せる環境があると、読むより速く分かる。
動かして確かめる
読むだけでなく、動かして確認した。
- 値を書き出して、流れを見る
- 想定と違う箇所を探す
- 読み違えていた箇所が見つかる
3つ目が多い。読んだだけでは、思い込みが入る。
消したくなる箇所
使われていなさそうな箇所が出てくる。
- すぐ消さない
- 本当に使われていないか、2回確認する
- 消すのは、全体が分かってから
3つ目を守った。把握できていない段階で消すと、原因が分からなくなる。
直す順番
直す場合も、順番を決めた。
- 動かない箇所を直す
- 危ない処理を直す
- 書き方の整理は、最後にする
3つ目を後にした。整理を先にやると、元の形が分からなくなる。
書き方を揃えるか
自分の書き方に直したくなるが、抑えている。
- 動いているものは、形を変えない
- 変えると、動作が変わる可能性がある
- 新しく書く部分だけ、自分の書き方にする
2つ目が理由だ。整理のつもりの変更で、壊すことがある。
記録を残す
読んだ内容は、文書に残した。
- ファイルと役割の一覧
- データの流れ
- 分からない箇所
- 触らないと決めた箇所
4つ目を書いておく。なぜ触らないか残すと、次の人が判断できる。
かかった時間
把握までの時間も記録した。
- 入口から追う — 半日
- データの流れを把握 — 半日
- 一覧を作る — 1日
合計で2日ほどかかった。この時間を取らずに触ると、後で倍かかる。
引き継ぎ資料を作る
把握した内容は、そのまま資料にした。
- いまどうなっているか
- どこを見れば分かるか
- 触らないと決めた箇所と、その理由
3つ目が後で効く。理由が無いと、忘れていたのか判断したのか区別できない。
依頼元に確認したこと
読むだけで分からない部分は、聞いた。
- いま使っている機能はどれか
- 使っていない機能はあるか
- 過去に問題が起きた箇所はあるか
3つ目が参考になる。一度問題が起きた箇所は、また起きやすい。
まとめ
- 上から読まず、入口から通る場所だけ追う
- データの流れを押さえると、触ってよい場所が分かる
- 分からない箇所は、分からないと書いて残す
- 使われていなさそうな箇所も、すぐ消さない
- 把握の時間を取らずに触ると、後で倍かかる
関連記事
RELATED
Remotionを入れて、最初の動画を書き出すまでにやったこと
Reactで動画を書くRemotionを入れました。手順は2つですが、記事に書かれていない前提がいくつかありました。
半年で身についた作業の順番
コードを書く作業の進め方が、固まってきました。
控えの取り方を決めた話
取っているつもりで取れていなかったので、見直しました。