開発業務をする時に考えていることを大まかにまとめる
モチベーション
ソフトウェアエンジニアとして業務を初めて約 3 年が経過し、このタイミングで自分が業務を始める前~終わるまでに考えていることを体系的に文字にしたいと思ったのでこの記事を書いています。
作業対象の完了定義を確認
まず初めに「自分が何をするのか」を明確にする。
明確にしたのち、サブタスクとして小さなゴールを複数設定できたらベスト。
自分の場合、タスクに取り組む前に自分の言葉でタスクの完了定義を言語化、また、サブタスクも自分の言葉で言語化して、大まかなステップをメモってから実装に入る。
この段階で、小タスクに分解できない場合は、早めに有識者にアドバイスをもらった方が、経験的に良い結果を生むことになると思う。
関係者がいる場合は確認
この段階で、(いる場合は)だいたい関係者が見えてくるので、事前に確認を取っておくと経験的に良い。
例えば、バックエンド実装が関わりそうな場合は、バックエンド担当者に相談する等。色々実装して後から相談して大幅に手戻りになると困るので、この段階で軽く壁打ちをしておく。
落ちるテストを書く
テスト駆動開発をしている場合は、先に落ちるテストを書く。実際に処理を考えることになるので、上記言語化したことをコードレベルで考えられて良い。
とりあえず通る処理を書く
コードは汚くて良いので、とりあえず要件を満たすコードを書く。そしてテストが通ることを確認する。動作確認もする。
リファクタする
リファクタする。コード設計が複雑ではないか、変数名が妥当か、わかりにくい場所は why コメントが書かれているか、エラー処理が適切になされているか等。リファクタあとは再度動作確認をする。
場合によってペアプロを依頼
なんとなくできたけどもうちょっと良いやり方ないかなってなった場合は、コードレビューを依頼する前にペアプロを依頼することもある。
コードレビューを依頼
「概要」、「タスク URL」、「実装詳細」、「期待挙動」、「レビューポイント」、「画像/gif」などを添えて、コードレビューを依頼する。
まとめ
一番最初が一番大事。どんなタスクも小タスクに分解して、粛々と消化していくしかないですね笑
Discussion