??? 10/09/06 12:43 Read: times |
#126040 - shades of grey Responding to: ???'s previous message |
Erik, take this on board - everything is not so black and white.
the example if (TheBoxerHasStopped()) { StopTheConveyor(); }(which is great with the exception that I would make "TheBoxerHasStopped()" a macro rather than a function) is, in my opinion, an example of "good coding practices" and, does, of course imply some form of "abstraction" BUT does so for the sake of clarification Most so called abstraction I have seen has been for the sake of obfusciation. So, to clarify my point, abstraction for the purpose of clarification is excellent, abstrarction for the sake of abstraction is a menace. If you use "abstraction" as the OP suggest, to be able to do something you do not understand, that is not useful "abstraction" but guarateeing failure. There has been posted examples of "abstraction" in the preceeding posts, and that is NOT what I am arguing, HOWEVWR, It is so rare to see "abstraction" used in those contexts. Usually "abstraction" refer to "OK, so you do not want to understand this, fine, just use this" and I can not tell how many cases of failure has been due to that. Yes, If, by "abstraction" you refer to wxamples like the one above, I have no beef, but how many of the "abstraction prophets" stop there? Erik |