「 品質の高いコードを素早く書くために、いつも意識している手順をまとめてみた」という記事を読んでのメモ

品質の高いコードを素早く書くために、いつも意識している手順をまとめてみた - QiitaというQiitaの記事を読んだのでメモ。

要件を明確にする

何のために実装を行うのかを事前に明確にすることで、プログラミング中は何も考えなくて良くなる。
やることとやらないことを明確にしておくことで余分なコードを書かなくて良くなる。
この段階で成果物のイメージを明確にしておく。

ポイント

成果物のイメージを明確にする。

フロー設計

全体の大まかな処理のフローを考える。 ここではどんな流れで処理が行われるかの大体の流れでOK。

事前調査

コードの改修の場合は、特にこのフェーズが大切。 実装の前に、躓きそうなポイントを調査しておく。

ポイント

実装する前に躓きそうなポイントを調査する。

詳細設計

フローを実際に実装する時に、コードベースまで落とし込んで考える。
特に詰まりそうな所はコピペで済むくらい実装方法を事前に考えておくと後で詰まらなくなる。
ただし、既に何をやるかは明確なコーディングや使ったことの無いライブラリの検証などは 先に手をつけてしまった方が早い場合が多いのでその場合は先に実装をする。

ポイント

詰まりそうなところはコピペで済むくらい実装方法を事前に考えておく。

実装

最初から細かい所はこだわらずにフロー設計で洗い出した全体の流れを全て早く実装する。
難易度の高い実装から先に手をつける。

リファクタリング

フロー全体が実装できたら、コメントをつけたり気になる箇所をリファクタリングする。

ポイント

リファクタリング...分かりづらい部分を分かりやすくする(書き方を変えたり、コメントを付けたり)

単体テスト

ここまで来たら、自分で要件が満たせているか動作テストを行う。
よく実装しながらこまめにテストしようとしてしまいがちだが、それだと知らないうちにかなり時間を使ってしまうので後でまとめてテストをする。

今後改善したいこと

要件確認が曖昧にすすめてしまうことがまだ多いので、最初の時点で迅速に固められるようにしていきたい。
チケットの粒度を2時間単位ぐらいに分割して手をつけられるようにしたい。

その他

メリハリをつけるのは大事だな。5分オーバーとかでも積もると最初やりたかったタスクができなくなったりする

ポイント

時間はオーバーしないようにする

参考

品質の高いコードを素早く書くために、いつも意識している手順をまとめてみた - Qiita