リファクタリング 実例

最近このようなコードに出会った。

data['hoge'] = false
if (service.foo !== undefined) {
  data['hoge'] = service.foo === undefined ? false : true
}

service.fooがundefinedかどうかによって、data.hogeにセットする値を変えているが、かなり冗長である。

最終的に以下のようにリファクタした。

data['hoge'] = service.foo !== undefined