- 名前付けが適切か
- 名前空間
- クラス名
- 関数名
- 変数名
- ディレクトリ名
- ファイル名
- 副作用あり・なしが名前から連想できるか
- 読みやすさ
- クラス/関数の責務分離
- 副作用の有りなしで処理を分割できているか
- 副作用のある処理はクラス・関数を分けて適切にモックできるとテストが書きやすい => 副作用の無い処理を分離してテストができる
- 責務を持ちすぎていないか
- 一つのメソッドの長さ
- 一つのクラスの長さ
- 一つのif/forブロックの長さ
- 名前と違うことをしていないか
- デメテルの法則
- オブジェクトに仕事をさせているか
- 凝集度
- (必要に応じて)コメントが書いてあるか
- あちこちに目が行くようなフロー制御になっていないか
- 例) コールバックの多用
- テスト
- テストが書かれているか
- 結合テスト
- 設計変更があっても安全に修正できるか
- 単体テスト(境界値)
- 結合テスト
- テストが書かれているか
- パフォーマンス
- N+1
- インデックスの考慮
- データ量の把握
- 無駄にIO/メモリを使っていないか
- セキュリティ
- パスワードのハッシュ化
- XSS
- CORS
- SQLインジェクション
- CSRF
Last active
June 29, 2020 13:08
-
-
Save tzmfreedom/98134415f5bd6d3eb0d8ac8994025ae6 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment