個人開発FEのコンポーネント設計時に意識すべき原則を考えた

概要

モチベ維持が難しい個人開発において、設計に気を配ると実装の手が止まってしまうのが課題だった。

そこで、設計時に時間をかけすぎない、「迷わない」ために指針とすべき個人的原則を考えた。途中途中で飛躍するところがありますが多めに見てください😼

意識すべき原則

crudが一つ以上絡む機能を10分以内に「自信を持って」、「完全抹消」できる構造になっているか。

なっていると感じたなら、スピードを優先する

原則の詳細

例えばブログアプリで、投稿・編集・削除・閲覧ができ、投稿には一時保存・ユーザー限定公開があるとする。

これらの機能はそれぞれcrudが一つ以上存在する。

そこで上司から、そのcrudのエンドポイント(例えば編集機能)を抹消することになったから、明日までに機能を消してPRちょうだいね

と言われたらその10分後に「PR出したっす!!」と言えるかどうか、その対応のできる構造になっているか、という具合

原則の理由

crudが一つ以上絡む機能

→一つの関心ごとになり得るモジュール粒度において、

10分以内

→各モジュールが疎結合で、消えても困りにくく、さらに何を消していいのか明確で、短時間であっても、

「自信を持って」

→さらにさらにテストが充実していて、他の機能崩壊の心配をすることなく、

「完全抹消」

→機能を消すことができる

まとめると、

一つの関心ごとになり得るモジュール粒度において、各モジュールが疎結合で、消えても困りにくく、さらに何を消していいのか明確で、短時間であっても、さらにさらにテストが充実していて、他の機能崩壊の心配をすることなく、機能を消す(*)ことができる

つまり、この原則を守ることは、以下を実現できる構造になっているというわけです

・新しい機能の実装が迅速にできる

・新メンバーも迅速に実装に入れる

・エラー発生時、迅速に原因を特定できる

・仕様変更後、迅速に実装に落とし込める

そして

迅速=ソフトウェア以外に時間を投下できる、他サービスに勝てる、という理由です


*消すことが本当の目的ではなく、消せる構造がいかしているということ。

文字数が100文字以上、かつまだAIからのフィードバックがない場合のみAIにフィードバックをもらえます

🧑‍💻 フィードバック上司

振り返りフィードバック

問題点:

  • 発言が抽象的であり、具体的な行動や成果が不明確。
  • 設計と実装のバランスについての課題が浮き彫りになっている。
  • 課題への対処において、具体性とスピードの両立が難しいと示唆。

改善すべき点:

  • 振り返りには、実際の数値や具体的な事例を交えて、行動と成果を客観的に示す。
  • 設計と実装のバランスを保つために、指針や原則を具体的に整理して行動に落とし込む。
  • 課題解決において、具体性を持ちつつもスピードを意識した行動を取ることを心掛ける。

kapppの画像
kappp

kappp has shared 14 reflections. Discover new insights this platform.


個人開発FEのコンポーネント設計時に意識すべき原則を考えた | リフティ