bcquality/community/knowledge
António Silva 1496e72b7b Add community knowledge on AL boolean operators not short-circuiting
AL gives no short-circuit (lazy) evaluation guarantee for and/or/xor —
neither the AL operators nor the boolean operators documentation defines a
lazy evaluation order. LLMs trained on C#, JavaScript, or SQL assume the
left operand guards the right, which produces conditions where a guard
does not protect an unsafe subscript or a field read after a failed Get,
and where an expensive operand is paid on every path.

Adds community/knowledge/performance/boolean-operators-do-not-short-circuit.md
with good/bad AL companions. The guidance prefers nested if when one operand
depends on another, while keeping and/or legitimate for operands that are
independently safe and cheap, so a reviewer does not flag harmless bound
checks. This is the first article in a community performance domain; the
Microsoft performance review leaf skill already sources candidates by domain
across every enabled layer, so no skill change is needed to reach it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 10:19:09 +01:00
..
data-modeling Add TransferFields SkipFieldsNotMatchingType guidance (#133) 2026-08-24 09:54:37 +02:00
performance Add community knowledge on AL boolean operators not short-circuiting 2026-08-24 10:19:09 +01:00
security Promote validated community knowledge (#105) 2026-07-14 14:20:27 +02:00
ui Promote validated community knowledge (#105) 2026-07-14 14:20:27 +02:00
.gitkeep Add .gitkeep files to community and microsoft directories; remove .gitkeep from samples 2026-04-17 06:03:14 +02:00