◎はじめに
これまでの記事では「現場参画後の感想」を中心に書いてきました。今回は「実装に詰まったときの初心者の対処法」というテーマで、私自身の体験をもとにまとめてみました。
◎困ったこと
実装内容(ざっくり)
- 画面に資料を表示する機能
- 新たな資料をダウンロードする機能
詰まった理由
真似できそうなソースコードを調べたり、周囲に質問したりしながら進めていましたが、最終的に「既存仕様」と「取得データ」との連携を上手く改修できず、実装が行き詰まりました。
システムの既存仕様
もともとの想定では「既存資料」と「新規資料」を区別して出力する設計になっておらず、今回のように新しいダウンロード処理を実装する想定自体がなさそうでした。
取得してくるデータ
バックエンドで使用する言語と、フロントエンドが受け取るデータの言語が異なっていました。本来は「取得データを区別する必要がない」仕様でしたが、今回の実装では新たに区別する仕組みが必要になっていました。
当時の状況
上記の理由により非常に苦戦していました。さらに自分が同画面で実装済の機能がすでに存在していたため、「自分の実装が悪いのか」「既存処理側に問題があるのか」が分からなくなり、混乱してしまいました。
◎対応
上司への相談
該当ソースを示しながら「実装が詰まっていて解決方法が思いつかない」と相談したところ、「何ができていて、どこに問題があるかを整理して、課題を切り分けよう」と指示を受けました。
◎課題の切り分け
上司に説明しやすくするため、Excelで課題を整理しました。(当時は「実装→UT完了後にコミット」というルールだったため、この形式で共有しています)
① 改修内容シート
- 要件定義の課題Noと画面イメージ
- 今回の追加機能と現在発生した不具合
- 関連して確認が必要な機能と発生した不具合
② 修正資材一覧シート
- 新規作成か既存修正か
- 対象ソースのファイルパス
- 実装内容の概要(一言で)
- 作業状況(完了・途中・未着手)
- メモ(流用元や検討中の内容など)
③ エラー内容シート(その1)
- 対象画面名
- 実施した操作
- 想定されるエラーの原因
- 発生したエラー内容
- コンソールの「START」と「ERROR」部分の抜粋(スクショ付き)
④ エラー内容シート(その2)
- 対象画面名
- 実施した操作
- 想定されるエラーの原因
- 修正前後のソース差分
- 発生したエラー内容
◎対処
Excel表で整理した内容をもとに、上司から以下の指示を受けて対応しました。
「不具合発生前の状態に戻す → 原因箇所を特定する → 追加機能を実装する」
不具合発生前に戻す
- 既存機能が正常に動作する状態へ戻す
- 失敗した実装のみ元に戻す、もしくはコメントアウトする
原因箇所の特定
1行ずつコードを追加しながら「既存機能」または「追加機能」のどちらで問題が再発するか確認しました。その結果、影響範囲を明確に切り分けることができました。
追加機能の実装
原因が特定できた後、上司に確認しながら、画面を見てデータをどのように分岐させるかを教わりました。
ここでも助言通り「1つのコードを追加 → 動作確認」を徹底し、安定した動作を確認しながら進めました。
最終的に、既存処理に影響を与えず「新たな資料をダウンロードする機能」を実装できました。その後は1人で「画面に資料を表示する機能」の対策も立てられるようになりました。
◎次回以降の進め方(予定)
次の課題でも、以下の手法を実践してみる予定です。
- 課題の切り分け・可視化(整理)
- 「1つのコードを追加 → 動作確認」の徹底
また何かあれば記事にまとめようと思います。
ここまで読んでいただき、ありがとうございました。
※本記事は、自分で内容と考えをまとめ文章の下書きを作成し、読みやすくするため一部で生成AIによる日本語のチェック・表現調整のみ行っています。
株式会社ONE WEDGE
IT業界に、 ITエンジニアに貢献する企業!
ひとつひとつ (ONE by ONE)の事柄を
「WEDGE」として繋ぎ真摯に 向き合い創造していく