【发布时间】:2019-01-25 05:09:16
【问题描述】:
此代码是否违反 DRY 原则?
if (notAuthorized) {
return sendErrorCode(new ForbiddenException())
} else if (notValid) {
return sendErrorCode(new InvalidArgumentException())
} else if (outDated) {
return sendErrorCode(new Error())
} else {
return sendResult(result)
}
我的意思是所有这些带有 sendErrorCode 的行都是错误处理代码。
现在我只是在发生错误时发送错误代码,但是如果我需要记录错误或向分析发送请求或其他我需要编辑三行代码的东西怎么办。
也许我应该将 sendErrorCode 包装在一个更通用的函数中,比如 handleError
【问题讨论】:
-
你在哪里重复这个
if?在每个请求处理程序中? -
“如果我需要记录错误或向分析或其他方式发送请求”在
sendErrorCode中进行操作。 -
我投票结束这个问题,因为问题属于codereview.stackexchange.com
-
@NikKyriakides 现在它只在一个请求处理程序中
-
@Kaiido 那么 sendErrorCode 会丢失语义
标签: javascript dry