J
John G Harris
Any sufficiently large code base needs a contract system, especially
in a team development environment where not all members are
equivalently skilled.
A relatively small gain in execution speed is not worth the loss of a
"guarantee" on the value types being passed as parameters.
On would think that removing type checks would have the opposite
effect.
But does not reduce maintenance cost when debugging
Not all developers can code and forget, some of us actually maintain a
code base for years and have to see beyond the immediate goal to the
net costs of a project. This is off-topic though, and not worth
pursuing.
Obviously, if your coders aren't able to use interfaces in the way
required by the documentation then you have to put in vast amounts of
vetting and special case code. That, in turn, means you have to write
test cases for *all* the ways of doing things wrongly. My view, and I'm
not alone, is that that's going to be quite a burden.
John