Rules Hub
Code Ruleset
← Back to all rules
Rule priority, scope & exceptions
Use this to align rules with the senior-level structure (P0/P1/P2, scope, exceptions/tradeoffs).
fullstack ruleP2universalStack: typescript
consistencyarraysreadability
Use one consistent idiom for filtering arrays in a module
Pick either filter or flatMap to drop unwanted items and apply it consistently rather than mixing both.
PR: hegnar-forum-web · org-mining-deep-2026-06Created: Jun 17, 2026
Bad example
Old codets
| 1 | a.filter(Boolean) // here |
| 2 | b.flatMap(x => x ? [x] : []) // there, for the same purpose |
Explanation (EN)
Different spellings of the same simple filtering operation can add local reading overhead.
Objašnjenje (HR)
Good example
New codets
| 1 | a.filter(Boolean); |
| 2 | b.filter(Boolean); |
Explanation (EN)
Objašnjenje (HR)
Notes (EN)
Use a consistent idiom for equivalent filtering in the same area of code, matching the actual predicate.
Exceptions / Tradeoffs (EN)
flatMap can intentionally transform and remove items in one pass. filter(Boolean) removes zero, false, empty string and NaN as well as nullish values, so it is not a generic presence filter.