Daniel Marcel Eichler a écrit :
Am Donnerstag 08 Mai 2008 00:12:26 schrieb
[EMAIL PROTECTED]:
very often sees do-nothing catch-all try/catch blocks in Java - which
is way worse than just letting the exception propagate. I find all
this totally pointless, because there's just no way for a compiler to
check if your code is logically correct.
But it's enough if the called method exists and returns the correct
type. At least it prevents a crash.
Then providing an appropriate default in the base class is enough too.
Interfaces work at
compile-time, while method-stubs raise at their first call, so in
worst case, never.
And then ? If it's never called, why bother implementing it ?
You never can't say when it's called at least, that's the point.
Either the method is actually called somewhere and you'll now it pretty
soon, or it isn't and you don't care.
That's the point. Interfaces garantee that a duck is a duck, an not
only a chicken that quack.
Who cares if it's a chicken as long as it quacks when you ask her to
? Now *This* is the whole point of chicken^Mduck typing, isn't it ?-)
Ducks can also swim and fly. And if you need a really duck,
If you're code expects something that quacks, swims and flies, anything
that quacks, swims and flies is ok. You just don't care if it's a duck
or a flying whale with a quacking device tied to it.
but have
onyl a chicken while the coder was to bored to make one...
Then the coder have a nice traceback, and it's not *your* problem - as
long as the expectations are clearly documented, it's the user's (ie:
coder) duty to provide something that fullfil the expectations.
Of course, in the practical world that all doesn't matter. But in the
theoretical world of the big coding farms, called business, that's one
cornerstone of success, in the tinking of managers and so.
Sorry, I live in a very practical world - and we're by no mean running
out of business here...
--
http://mail.python.org/mailman/listinfo/python-list