lpetrich
Contributor
Yes, be sure to put in graceful degradation. Like vet every input and put in fallbacks for nonsensical inputs.Coding for reliability means adding code to detect fault and make an orderly exit if needed instead of crashing without warning. The difference between coding and coding for others to use long after you have moved on to something else.
OOP is only part of program organization. Before it was developed, structured programming was, for hiding "go to".It also involves running realistic test cases to try and make the system crash. Software is only as good as the test cases you run. Which is where OOP comes in. Build and test individual objects before system integration.
BTW, I agree that inheritance makes callbacks easy. The C syntax for function pointers is rather grotesque.