例えば本番環境とそれ以外の場合で全く違う処理をしたいメソッドを定義する場合どのようにするのが望ましいのだろうか。
もっとも素直な実装はpattern 4
であるが、毎回無駄なif
が動いてしまうので不快である。
if process.env.NODE_ENV in ['production']
fn1: ->
# Do somthing
return
else
fn1: ->
# Do somthing
return
class Foo
# pattern 1
fn1: fn1
# pattern 2
if process.env.NODE_ENV in ['production']
fn2: ->
# Do somthing
return
else
fn2: ->
# Do somthing
return
# pattern 3
fn3:
if process.env.NODE_ENV in ['production']
->
# Do somthing
return
else
->
# Do somthing
return
# pattern 4
fn4: ->
if process.env.NODE_ENV in ['production']
# Do somthing
return
else
# Do somthing
return