我们将CodeClimate添加到一个项目中,在React组件中的render函数遇到了许多method-lines错误,范例:-函数render有78行代码(允许超过40行)。请考虑重构。我们希望从method-lines检查中过滤掉所有的render函数。我们可以增加行阈值或完全禁用检查,但我们仍然希望检查其他函数,因此这是不可取的。有用于重复检查的节点过滤,但我找不到任何类似于method-lines的内容。
render
method-lines
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关键字和方法行检查的其他配置选项的更多信息。
iyr7buue2#
您可以配置CodeClimate以将特定的文件或目录排除在方法行检查之外。这样,您就可以将React组件中的呈现函数排除在方法行检查之外,同时仍然检查代码的其余部分是否存在此问题。若要从方法行检查中排除特定文件或目录,您需要将.codeclimate.yml文件添加到项目的根目录。在此文件中,您可以使用exclude_paths选项指定应从方法行检查中排除哪些文件或目录。例如,若要排除src/components目录中的所有文件,您需要将以下内容添加到.codeclimate.yml文件中:
.codeclimate.yml
exclude_paths
src/components
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。
xkftehaa3#
Check此文档.您可以在codeclimate中禁用"强制差异覆盖率“与”强制总覆盖率“检查,以便不会为提交运行这些报告.
cngwdvgl4#
你需要一个codwclimate.yml文件,你可以用下面的代码来改变阈值--尽管拥有一个巨大的渲染函数并不是很好--我建议把它控制在50行以内。
codwclimate.yml
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-configurationsmethod-lines是上面的最后一个-请确保不要剪切/粘贴,因为YML需要缩进才能准确。祝你好运!
4条答案
按热度按时间33qvvth11#
要从CodeClimate的方法行检查中过滤掉渲染函数,可以在.codeclimate.yml配置文件中使用ignore关键字。该文件允许您自定义CodeClimate的检查行为,包括方法行检查。
下面是一个如何使用ignore关键字从方法行检查中排除呈现函数的示例:
在本例中,ignore关键字用于指定一个模式,该模式与要从方法行检查中排除的呈现函数的名称相匹配。在本例中,模式“**/render”与任何文件或目录中名为render的任何函数相匹配。
您还可以使用ignore关键字按完整路径排除特定的渲染函数,或使用逗号分隔多个模式来排除它们。例如:
在此示例中,ignore关键字用于排除任何文件或目录中得呈现函数,以及Button与Card组件中得呈现函数.
您可以在CodeClimate文档中了解有关ignore关键字和方法行检查的其他配置选项的更多信息。
iyr7buue2#
您可以配置CodeClimate以将特定的文件或目录排除在方法行检查之外。这样,您就可以将React组件中的呈现函数排除在方法行检查之外,同时仍然检查代码的其余部分是否存在此问题。
若要从方法行检查中排除特定文件或目录,您需要将
.codeclimate.yml
文件添加到项目的根目录。在此文件中,您可以使用exclude_paths
选项指定应从方法行检查中排除哪些文件或目录。例如,若要排除src/components
目录中的所有文件,您需要将以下内容添加到.codeclimate.yml
文件中:您还可以使用glob模式来匹配多个文件或目录。例如,要从方法行检查中排除所有以.render.js结尾的文件,您可以使用以下模式:
有关配置CodeClimate检查的详细信息,请参阅see the CodeClimate documentation。
xkftehaa3#
Check此文档.您可以在codeclimate中禁用"强制差异覆盖率“与”强制总覆盖率“检查,以便不会为提交运行这些报告.
cngwdvgl4#
你需要一个
codwclimate.yml
文件,你可以用下面的代码来改变阈值--尽管拥有一个巨大的渲染函数并不是很好--我建议把它控制在50行以内。这是从文档在这里:https://docs.codeclimate.com/docs/advanced-configuration#section-default-check-configurations
method-lines
是上面的最后一个-请确保不要剪切/粘贴,因为YML需要缩进才能准确。祝你好运!