開発業務における問題解決パターン

開発業務の中で問題にぶつかった時どう対処するか、についてのまとめです。色々レパートリーを増やしていきたいです。

ライブラリなどの仕様が分からない場合

下に行くほど工数がかかりますが、ライブラリの仕様を詳細に理解できます。

  • リポジトリの README やドキュメントを見る
  • 対象コードを GitHub 内で検索する
  • ライブラリが使用されているリポジトリを clone して動きを見る
  • 最小の検証環境を作って試す

バグに遭遇した時

  • 自力で解決する場合
    • 関係してそうなコードを洗い出す
    • 影響しているコードを一部コメントアウトしたり、わざと変な値を入れたり、デバッグして挙動を調べる
    • ログを Google で検索する(言語を英語にしておくと多くの情報にアクセスできる)
    • ヒットした中で公式のドキュメントや Issue など一次情報に近いものを見ていく
  • 自力で解決できない場合
    • 事象、再現手順、調べて試したことなどをまとめておく
    • 自分の視野の外のコードが関係している可能性があるため、社内の他のエンジニアに協力を仰ぐ
  • バグをテストで拾えていないなら、テストを追加する
  • 参考にしたリンク、発生した事象と試したことなどをできるだけ詳細に PR や Issue に残しておく

設計で迷うとき

  • 自分の頭の中を ER 図や言語化してアウトプットして議論の叩き台を作る
  • 先輩にアウトプットを見てもらい、レビューをしてもらう
  • レビュー受けた箇所を修正 → レビューを繰り返す