はじめに
チームで 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 Test
Integration Test
E2E 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...
共有すべきこと
- メンバーの技術スタック
- メンバーのやりたいこと・やりたくないこと