File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -70,16 +70,21 @@ reliable way to enforce best practices.
70
70
71
71
## 📈 The Power of Combinatorics
72
72
73
- The framework's power lies in its combinatorial architecture. It is built on a small set of primitive "bricks": *
74
- * Selectors** (` S ` ) that define * what* to find in the code, and ** Constraints** (` C ` ) that define * what condition* to
73
+ The framework's power lies in its combinatorial architecture. It is built on a small set of primitive "bricks":
74
+ ** Selectors** ($S$ ) that define * what* to find in the code, and ** Constraints** ($C$ ) that define * what condition* to
75
75
check.
76
76
77
- The number of unique validation rules (` R ` ) is not a sum, but a product of these components. A single rule can be
77
+ The number of unique validation rules ($R$ ) is not a sum, but a product of these components. A single rule can be
78
78
represented as:
79
- $$ R_{\text{single}} = S \times C $$
80
- With approximately 10 types of selectors and 10 types of constraints, this already provides ~ 100 unique checks. However,
79
+
80
+ $$ R_{\text{single}} = S \times C $$
81
+
82
+ With approximately $10$ types of selectors and $10$ types of constraints, this already provides ~ $100$ unique checks.
83
+ However,
81
84
the true flexibility comes from logical composition, allowing for a near-infinite number of validation scenarios:
82
- $$ R_{\text{total}} \approx S \times \sum_{k=1}^{|C|} \binom{|C|}{k} = S \times (2^{|C|} - 1) $$
85
+
86
+ $$ R_{\text{total}} \approx S \times \sum_{k=1}^{|C|} \binom{|C|}{k} = S \times (2^{|C|} - 1) $$
87
+
83
88
This design provides ** thousands of potential validation scenarios** out-of-the-box, offering extreme flexibility with
84
89
minimal complexity.
85
90
You can’t perform that action at this time.
0 commit comments