Am Montag, 15. Dezember 2003 13:16 schrieb Nathanael Schärli:
In fact, there were dozens of places deep in the core of the system (e.g., in the Morphic framework) that caused a runtime error just because I was being a good programmer and actually declared abstract methods as 'subclassResponsibility', which is unarguably a good style of programming.
Whenever I hear someone say that something is "unarguably" so, it raises the itch in me to argue. :)
Why is it 'unarguably' good style to fill abstract methods with the line "self subclassResponsibility"? In the example of #close for a general stream, is "self subclassResponsibility" an abstract formulation of the semantics of the close operation? I don't think so. What if #close just contained a comment "My subclass should implement this - do nothing"? Arguably, the trouble you have with the semantics of #respondsTo: in dealing with such cases is a consequence of putting something in these abstract methods which doesn't really (semantically) belong there. Instances of the class actually respond to #close, but the response is not meaningful in the given semantic context.
Lothar
"Walk this world with me"