Используем method decorator в CoffeeScript(Javascript) для удобного и читаемого DRY-кода
Статья о простом, но не очевидном способе как сделать код чище и избавиться от копипасты.Условно проблема выглядит вот так:
###
My awesome class
###
class Awesome
doFoo : (arg, cb) ->
unless arg is 42
return cb Error """
only The Answer may be an argument, but got:
|arg| = |#{arg}|
"""
cb null, "#{arg} is The Answer"
doBar : (arg, cb) ->
# hm... arg must be The Answer too
У нас есть кусок кода (тот, что с проверкой), который во-первых похоже потребуется повторить в новом методе, да и вообще отвлекает от основного действа в методе.
Совсем немного текста о том, как method decorator делает мою жизнь лучше