This commit is contained in:
Benjamin Brienen 2025-08-30 13:24:26 +08:00 committed by GitHub
commit 3027391aab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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: