开发小技巧:避免过度使用判断语句

作为开发人员,您肯定遇到过同样的逻辑,不同的人写出了不一样的代码。

他们中的大多数都有众所周知的解决方案。 今天,俺想谈谈如何来避免过度else语句和嵌套条件。

让我们举个例子:

render() {
  const personToLookFor = 'Thierry'
  const [result, loading] = doesPersonExists(personToLookFor)

  if (!loading) {
    let message
    if (result) {
      message = `${personToLookFor} already exists.` 
    } else {
      message = `${personToLookFor} doesn't exist.`
    }
    return message
  } else {
    return 'Loading...'
  }
}

如您所见,嵌套条件和if / else语句很难阅读。 乍一看,您并不真正理解这段代码是什么。 我敢打赌,您之前已经遇到过这种模式。 让我们对其进行一些重构,使其更易于维护!

再来看下一段代码:

render() {
  const personToLookFor = 'Thierry'
  const [result, loading] = doesPersonExists(personToLookFor)

  if (loading) return 'Loading...'

  let message
  if (result) {
    message = `${personToLookFor} already exists.` 
  } else {
    message = `${personToLookFor} doesn't exist.`
  }
  return message
}

是不是更清楚了? 我们也可以通过直接在if语句中返回消息来摆脱else语句。

render() {
  const personToLookFor = 'Thierry'
  const [result, loading] = doesPersonExists(personToLookFor)

  if (loading) return 'Loading...'

  if (result) {
    return `${personToLookFor} already exists.` 
  }
  return `${personToLookFor} doesn't exist.`
}

希望对大家有所帮助,也希望大家多多支持前端教程网。

(0)
上一篇 2019年12月17日 下午10:23
下一篇 2019年12月22日 上午11:54

发表回复

登录后才能评论