Robustness (computer science): Difference between revisions

Content deleted Content added
m changed his or her to their
Tag: Reverted
Line 22:
;Paranoia: When building software, the programmer assumes users are out to break their code.<ref name="robust_programming" /> The programmer also assumes that their own written code may fail or work incorrectly.<ref name="robust_programming" />
 
;StupidityRK: The programmer assumes users will try incorrect, bogus and malformed inputs.<ref name="robust_programming" /> As a consequence, the programmer returns to the user an unambiguous, intuitive error message that does not require looking up error codes. The error message should try to be as accurate as possible without being misleading to the user, so that the problem can be fixed with ease.
 
;Dangerous implements: Users should not gain access to [[Library (computing)|libraries]], [[data structure]]s, or [[Pointer (computer programming)|pointers]] to data structures.<ref name="robust_programming" /> This information should be hidden from the user so that the user doesn't accidentally modify them and introduce a bug in the code. When such [[Interface (object-oriented programming)|interfaces]] are correctly built, users use them without finding loopholes to modify the interface. The interface should already be correctly implemented, so the user does not need to make modifications. The user therefore focuses solely on their own code.