Open1
Modern and clean code
![ありま](https://res.cloudinary.com/zenn/image/fetch/s--AjnwpzrM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_70/https://storage.googleapis.com/zenn-user-upload/avatar/42596b1848.jpeg)
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は必ず処理する