リファクタリングするたびにこの記事に追記していきます。
適切な名前をつける
何をしたいかわからない名前
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 { }