How to build reliable Software
NSI/IEEE 1991 defines reliability as “the probability of failure-free software operation for a specified period of time in a specified environment”. That sounds pretty much like my definition of availability.
Notes
- Ensure every branch of your code is tested
- Ensure all exceptions are caught and properly handled
- Prefer
Result<T, E>
overOption<T>
for error handling