Open1

Modern and clean code

ありまありま

readable code

変数名:what they contain
関数名:what they do

basic rule

  • DRY
  • グローバルスコープを使用しない
  • varを使用しない
  • 強力な型チェックを使用する(a === b, a !== b

function

  • 一つのことだけ
  • 3つ以上のパラメーターを使用しない
  • デフォルトのパラメーターをできるだけ使用する
  • 受け取ったものと同じデータ型を返す
  • コードを読みやすくするためにarrow関数を使用する
    • コールバック関数

OOP

  • ES6 classを使用する
  • データをカプセル化し、外から変更できないようにする
  • メソッドチェーンを使用する
  • arrow関数を使用しない
    • thisが使用できなくなるため

avoid nested code

  • ガード節を使用する if(true) { return }
  • 三項演算子 or 論理演算子を使用する
  • 複数のifを使用する(if ... else if ...にしない)
  • ループforを避ける
    • map, filter, reduceのような配列メソッドを使用する
  • コールバックベースの非同期APIは避ける

asynchronous code

  • async/awaitを使用し、Promiseを使用する
    • then``catchメソッドを使用しない
  • 同時に実行できるPromise(お互いが依存しないPromise)は平行して実行する
  • errorとPromiseのrejectは必ず処理する