Skip to content

Instantly share code, notes, and snippets.

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