【问题标题】:eslint max-line-per-function disable for object-shorthandeslint max-line-per-function 禁用对象速记
【发布时间】:2020-02-28 10:09:50
【问题描述】:
const mailParams = ({
  ToAddresses,
  CcAddresses,
  subject,
  sourceEmail,
  mailTemplate
}) => ({
  Destination: {
    ToAddresses,
    CcAddresses
  },
  Message: {
    Body: {
      Html: {
        Charset: 'UTF-8',
        Data: mailTemplate
      }
    },
    Subject: {
      Charset: 'UTF-8',
      Data: `${subject}`
    }
  },
  Source: `${sourceEmail}`
});

显示 箭头函数的行数过多 (25)。允许的最大值是 15.eslint(max-lines-per-function) eslint 将所有内容计算为新行。我们如何抑制 object-shorthandfunction-paren-newline ": ["error", { "minItems": 3 }] 行被视为一个 即:总行数应为 5 或 2

【问题讨论】:

  • 我认为这是一个很好的例子,说明禁用规则比其他任何事情都更有意义

标签: javascript eslint eslint-config-airbnb


【解决方案1】:

你可以将你的函数分解成更小的块。想法是让功能只完成一项任务。这使其更具可重用性和灵活性。

const getSenderDetails = (ToAddresses, CcAddresses) => ({ ToAddresses, CcAddresses });
const getMessageDetails = (subject, mailTeplate) => {
  const CharSet = 'UTF-8';
  return {
    Body: {
      Html: {
        Charset,
        Data: mailTemplate
      }
    },
    Subject: {
      Charset,
      Data: `${subject}`
    }
  }
}
const mailParams = ({
  ToAddresses,
  CcAddresses,
  subject,
  sourceEmail,
  mailTemplate
}) => ({
  Destination: getSenderDetails(ToAddresses, CcAddresses),
  message: getMessageDetail(subject, mailTemplate),
  Source: `${sourceEmail}`
});

【讨论】:

  • 注意:这是对代码的重构。发布,如果您有任何建议/指针,请作为评论分享
  • 太好了。谢谢。我想到了这个,但是它再次为文件创建了数百万个函数。我不想创建更多不必要的小块。
  • 你可以禁用 tslint
  • sorry.am 使用 eslint。eslint 配置中没有其他选项可以使此计数为 2 行?
猜你喜欢
  • 2023-04-03
  • 2021-03-19
  • 2018-10-03
  • 1970-01-01
  • 2019-05-08
  • 1970-01-01
  • 2019-11-16
  • 2020-04-08
  • 2012-04-29
相关资源
最近更新 更多