開発の進め方の反省(少し複雑なフォーム編)
概要
既存のフォームのUIなどがあまりイケてないので、少しリッチな感じのUIに改修しようというプロジェクトで進捗がよくなかったので反省メモ。
体調があまり良くなくて頭が回らなかったというのもあったけど、体調に依存せずに安定したアウトプットを出したいのと、それだけではない気がしたので。
手こずった要素
validation
validation機能を実現できる要素が多かった
js側のvalidationの仕組みをあまり理解できていなかった。
既存のコードを残しつつ進めていたので、ごっちゃになってしまっていて、どうあるべきか?などを考えられていなかった。
vue
- 全体の構成を決める前に、動的なフォーム部分を作り始めてしまったので、データの持ち方とかの設計があやふあや感じに
- vue自体の経験値はある程度たまってきた感があるけど、サーバーサイドと比べるとまだまだ全然だから、直感でバーっと進める感じにはできない
整理
最初に仕様のイメージをクリアにする
プロトタイピング的なもので、チーム間では仕様がふわっとしている状況でも、
自分の頭の中での仕様のイメージをクリアにしないと設計ができず、ちぐはぐな感じになってしまうのでクリアにしておくべき。
構成要素の役割を知る
スキル的な部分。
例えばvalidationでいうと、php側のフォームを扱う機能とhtml標準の機能やjs側のライブラリとか重複してしまっている要素がある場合に、
それぞれ要素ができること、役割、得手不得手をちゃんと理解しているかつ、仕様をクリアにすれば、設計時にどういう要素をどのように使うかを決められるはず。
タスクを分割して順序を守る
例えば何かを改修するときに
- 既存のコードを把握
- 仕様を頭の中でクリアに
- 技術的な構成要素を理解
- 設計 ー実装
大まかにこういう感じにタスクを分割したときに、手順を守るべき。
簡単なものだったら適当にやってもなんとかなってしまうけど、少しでも複雑な場合は、
既存のコードを把握
をしているときに、「ああこういう感じか、じゃあここはこんな感じに手を加えちゃおう」のように、
実装
をしてしまうと、改修後の仕様をクリアにする前に細かい実装を先にしてしまってしまうことになるので、
既存のコードの仕様、設計に引きづられてしまって、ちぐはぐな感じになってしまいがち。
ササッと片付けてしまいたい誘惑にまけず、手順を守ることが大事?
あとこういうフローも習慣化していないと、「タスクを分割して作業の進め方を考える」こと自体の練度も上がっていかなそう。