LoginSignup
6
3

More than 5 years have passed since last update.

コードの可読性・保守性・堅牢性にフォーカスしたリファクタリング集

Posted at

エラーをはやめに返す

  • コードを読む量を減らせる
  • else を省略できるので正常系のネストがなくなる
// before
if error == nil {
  // 正常系の処理が続く...
}
else {
  Alert("error!")
}

// after
if error != nil{
  Alert("error!")
  return
}
// 正常系の処理が続く...

戻り値を必要としない配列ループの修正

  • 戻り値を意識させなくなるので、安心できる(mapだと「もしかして戻り値を扱う場合もあるのかも?」とおもわせてしまう)
// before
let _ = array.map { ... }

// after
array.forEach { ... }

forを使わずに要素の探索

  • 条件式のミスを減らせる(if "any" == file だと意図していない結果になる)
  • if A != B(AとBは等しくない) よりも説明的。 !A.contains(B)(BはAに含まれていない)
// before
for file in fileNames {
  if "any" != file {
    return
  }
}
// after
if !fileNames.contains( "any" ) {
  return
}
6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3