はじめに
チームで Web 開発を始める際に決めておいた方が良いものを自分用にまとめています。
気付きがあり次第、追加・修正していきます。
もしこういうのあった方がいいよとかこれは違うくない?ってのがあればコメントお願いします。
ライブラリ
-
UIライブラリ-
React.js? -
Vue.js? -
AngularJS? -
Flutter? etc...
-
-
テストライブラリ
-
Jest? -
Cypress? -
Mocha? etc...
-
-
状態管理ライブラリ (ex,
React.js)-
Redux? -
ContextAPI? -
mobx? -
Recoil? etc...
-
命名規則
- フォルダ名、ファイル名
- イベントハンドラー名
- コンポーネント名
- クラス名
- 型定義 (
TypeScript)-
ViewModel? -
Model? -
Entity? -
Props?
-
命名の揺れをなくす
テスト
Unit TestIntegration TestE2E Test
どこまでやって何を担保するか?
設計
- ディレクトリ構造
- ソフトウェア設計
-
Onion Architecture? -
Clean Architecture? -
DDD? -
TDD? etc...
-
- コンポーネント設計
Atomic Design- 共通化の認識
-
CSS設計-
BEM? -
FLOCSS? -
OOCSS? etc...
-
-
CSS管理-
Sass? -
CSS in JS? -
CSS Module?
-
-
API設計-
REST API? -
GraphQL?
-
- インフラ設計
- モノリシック ?
- マイクロサービス ?
- サーバーレス ?
- etc...
ソースコード管理
-
Git?SVN? - ブランチフロー
-
Git-flow? -
GitHub-flow? -
Git feature flow?
-
- コミット規約
-
Prefix? -
Issue番号の付与等
-
-
Linterの有無
タスク管理
-
GitHub issue? -
Backlog? -
Redmine? etc...
共有すべきこと
- メンバーの技術スタック
- メンバーのやりたいこと・やりたくないこと