跳转到主要内容

概述

默认情况下,Kody 规则沿层次结构继承: 全局 → 代码库 → 目录 每个级别的有效规则集是:
  • 在该级别定义的规则,加上
  • 从父级继承的规则,
  • 减去在该级别明确排除的任何规则。

默认行为

  • 全局规则默认应用于所有代码库和目录。
  • 代码库规则继承所有全局规则,加上为该代码库专门定义的任何规则。
  • 目录规则从其代码库继承所有规则,加上为该目录专门定义的任何规则。
启用继承无需任何操作——它是自动的。

中断继承

有两种方法可以阻止规则被继承:

1) 将规则标记为不可继承(在创建时)

在任何级别(全局、代码库或目录)创建规则时,您可以将其标记为”不可继承”。 效果:
  • 规则仅应用于创建它的级别。
  • 它不会出现在子级。
当规则有意特定于特定范围且不应沿层次结构向下流动时使用此选项。

2) 从子级排除父规则

从子配置(代码库或目录),您可以明确排除否则会从父级继承的规则。 效果:
  • 规则不会在该确切的子级应用。
  • 排除不会进一步级联——除非它们也排除它(或规则被创建为不可继承),否则孙子级仍然会看到父级的规则。
使用此选项可以为特定代码库或目录微调行为,而不影响其他子级。

示例

在代码库级别排除

假设存在全局规则”新端点需要测试”。在代码库”shop”中,您在代码库级别排除此规则。 结果:
  • 在代码库级别,规则不再适用。
  • 如果您在同一代码库内有已配置的目录(例如 apps/api),该目录仍然继承全局规则并将应用它——除非您也在目录级别排除它,或者原始全局规则被创建为不可继承。

创建不可继承的全局规则

您创建了一个全局规则并将其标记为不可继承。 结果:
  • 规则仅应用于全局级别。
  • 代码库和目录不会继承它。

实用技巧

  • 将基础规则保持在全局级别,以便所有代码库默认受益。
  • 对不应影响子级的高度特定上下文使用不可继承规则。
  • 使用子级排除来进行有针对性的例外,而不影响其他代码库或目录。

相关