リファクタリングするたびにこの記事に追記していきます。
適切な名前をつける
何をしたいかわからない名前
func changeIntValue01() {
}
連番命名
var value01 var value02 var value03 var value04
名前は省略はしない
before
以下のロジックは何を行っているのでしょうか?ぱっと見ではわかりません。
let n1 = num1 / 100 let n2 = num2 var r = n2 / (n1 * n2) r = floor(r * 10) / 10 return r.description
after
以下のようにわかりやすい名前をつけることで、ぱっと見でbmiを計算していることがわかります。
let height = heightTextValue / 100 let weight = weightTextValue var bmi = weight / (height * weight) bmi = floor(bmi * 10) / 10 return bmi.description
簡単なリファクタリング
isEmptyを使う
before
if array.count == 0 {
return
}
after
if array.isEmpty {
return
}
深いネスト
ネストはなるべく深くしない。早期リターンする
before
if gender == "男性" {
if age >= 20 {
if isMarried {
}
}
}
after
if gender != "男性" { return }
if age < 20 { return }
if isMarried {
}
マジックナンバー
before
以下の例だと、60というのがなんなのかがわかりません。このようにいきなり数字をコードに書き込むのをマジックナンバーと言います。
if score >= 60 {
// 処理
}
after
以下のように、一旦定数や変数に代入してから使うと、60が合格のスコアだとわかります。
let passScore = 60
if score >= passScore {
}

