Why Alternatives Do Not Suffice?
Traditional code quality control methods, such as static analysis and code reviews, have their limitations. Static analysis is effective at detecting syntactic and stylistic errors but won't verify whether additional tasks, such as updating documentation, have been completed.
Code reviews are valuable, but human error and time constraints may result in overlooking important details. As a result, rarely performed but crucial actions are easily forgotten, leading to serious issues. Reminder tests fill this gap, serving as the last line of defense against such oversights.
Reminder Tests
Reminder tests are a type of automated test used in programming. Their purpose is to remind programmers to perform rare actions related to code changes. They are similar to static analysis but are used in cases where it's not possible to automatically check whether a specific action has been performed, or when it's too costly. For example, performing something in another tool (like documentation) or making a conscious decision in situations where default behavior might be incorrect (such as specifying access permissions to an API endpoint).
Reminder tests react to changes that can be verified through code inspection. Upon such a change, they fail, providing a human-understandable description of what needs to be done. This forces the programmer to consciously update the test's last known state to pass it. To achieve this, a reminder test stores the last known state of the code within itself and compares it with the current state it calculates.