reactjs 从CodeClimate方法行检查过滤渲染函数

lfapxunr  于 2022-12-03  发布在  React
关注(0)|答案(4)|浏览(158)

我们将CodeClimate添加到一个项目中,在React组件中的render函数遇到了许多method-lines错误,
范例:-
函数render有78行代码(允许超过40行)。请考虑重构。
我们希望从method-lines检查中过滤掉所有的render函数。我们可以增加行阈值或完全禁用检查,但我们仍然希望检查其他函数,因此这是不可取的。
有用于重复检查的节点过滤,但我找不到任何类似于method-lines的内容。

33qvvth1

33qvvth11#

要从CodeClimate的方法行检查中过滤掉渲染函数,可以在.codeclimate.yml配置文件中使用ignore关键字。该文件允许您自定义CodeClimate的检查行为,包括方法行检查。
下面是一个如何使用ignore关键字从方法行检查中排除呈现函数的示例:

method-lines:
     enabled: true
     ignore:
      - '**/render'

在本例中,ignore关键字用于指定一个模式,该模式与要从方法行检查中排除的呈现函数的名称相匹配。在本例中,模式“**/render”与任何文件或目录中名为render的任何函数相匹配。
您还可以使用ignore关键字按完整路径排除特定的渲染函数,或使用逗号分隔多个模式来排除它们。例如:

method-lines:
      enabled: true
      ignore:
        - '**/render'
        - 'src/components/Button/render.js'
        - 'src/components/Card/render.js'

在此示例中,ignore关键字用于排除任何文件或目录中得呈现函数,以及Button与Card组件中得呈现函数.
您可以在CodeClimate文档中了解有关ignore关键字和方法行检查的其他配置选项的更多信息。

iyr7buue

iyr7buue2#

您可以配置CodeClimate以将特定的文件或目录排除在方法行检查之外。这样,您就可以将React组件中的呈现函数排除在方法行检查之外,同时仍然检查代码的其余部分是否存在此问题。
若要从方法行检查中排除特定文件或目录,您需要将.codeclimate.yml文件添加到项目的根目录。在此文件中,您可以使用exclude_paths选项指定应从方法行检查中排除哪些文件或目录。例如,若要排除src/components目录中的所有文件,您需要将以下内容添加到.codeclimate.yml文件中:

engines:
  method_lines:
    enabled: true
    exclude_paths:
      - src/components

您还可以使用glob模式来匹配多个文件或目录。例如,要从方法行检查中排除所有以.render.js结尾的文件,您可以使用以下模式:

engines:
  method_lines:
    enabled: true
    exclude_paths:
      - "**/*.render.js"

有关配置CodeClimate检查的详细信息,请参阅see the CodeClimate documentation

xkftehaa

xkftehaa3#

Check此文档.您可以在codeclimate中禁用"强制差异覆盖率“与”强制总覆盖率“检查,以便不会为提交运行这些报告.

cngwdvgl

cngwdvgl4#

你需要一个codwclimate.yml文件,你可以用下面的代码来改变阈值--尽管拥有一个巨大的渲染函数并不是很好--我建议把它控制在50行以内。

version: "2"         # required to adjust maintainability checks
checks:
 argument-count:
   config:
     threshold: 4
   complex-logic:
    config:
     threshold: 4
   file-lines:
    config:
     threshold: 250
   method-complexity:
    config:
     threshold: 5
   method-count:
    config:
     threshold: 20
   method-lines:
    config:
     threshold: 25

这是从文档在这里:https://docs.codeclimate.com/docs/advanced-configuration#section-default-check-configurations
method-lines是上面的最后一个-请确保不要剪切/粘贴,因为YML需要缩进才能准确。祝你好运!

相关问题