Remove conflicting advice

This commit is contained in:
Benjamin Brienen 2025-08-17 01:37:36 +02:00
parent b06ce60086
commit 7bbbff0ba3

View file

@ -236,22 +236,6 @@ In the "Good" version, the precondition check and usage are checked in the same
**Rationale:** non-local code properties degrade under change.
When checking a boolean precondition, prefer `if !invariant` to `if negated_invariant`:
```rust
// GOOD
if !(idx < len) {
return None;
}
// BAD
if idx >= len {
return None;
}
```
**Rationale:** it's useful to see the invariant relied upon by the rest of the function clearly spelled out.
## Control Flow
As a special case of the previous rule, do not hide control flow inside functions, push it to the caller: