開発業務における問題解決パターン
開発業務の中で問題にぶつかった時どう対処するか、についてのまとめです。色々レパートリーを増やしていきたいです。
ライブラリなどの仕様が分からない場合
下に行くほど工数がかかりますが、ライブラリの仕様を詳細に理解できます。
- リポジトリの README やドキュメントを見る
- 対象コードを GitHub 内で検索する
- ライブラリが使用されているリポジトリを clone して動きを見る
- 最小の検証環境を作って試す
バグに遭遇した時
- 自力で解決する場合
- 関係してそうなコードを洗い出す
- 影響しているコードを一部コメントアウトしたり、わざと変な値を入れたり、デバッグして挙動を調べる
- ログを Google で検索する(言語を英語にしておくと多くの情報にアクセスできる)
- ヒットした中で公式のドキュメントや Issue など一次情報に近いものを見ていく
- 自力で解決できない場合
- 事象、再現手順、調べて試したことなどをまとめておく
- 自分の視野の外のコードが関係している可能性があるため、社内の他のエンジニアに協力を仰ぐ
- バグをテストで拾えていないなら、テストを追加する
- 参考にしたリンク、発生した事象と試したことなどをできるだけ詳細に PR や Issue に残しておく
設計で迷うとき
- 自分の頭の中を ER 図や言語化してアウトプットして議論の叩き台を作る
- 先輩にアウトプットを見てもらい、レビューをしてもらう
- レビュー受けた箇所を修正 → レビューを繰り返す