Omer van Kloeten's .NET Zen

Programming is life, the rest is mere details

News

Omer van Kloeten's Facebook profile

Get Firefox

.NET Resources

Articles :: CodeDom

Articles :: nGineer

Culture

Projects

July 2007 - Posts

Why Reship a Buggy API?

Version 1.0 of the .NET Framework introduced System.Drawing.Region's Union method, designed to union two regions or several other types into a region. A bug, first reported in 2001, caused unexpected behavior. The method's output was determined as unreliable.

Version 1.1 went past and the bug was not fixed. Then version 2.0 went by and the bug was still left unfixed. I haven't checked on version 3.0, but my money's on it still not being fixed.

The situation we have today is one of an API that was released 6 years ago and still has a known, crippling bug making it unusable, yet there is absolutely no documentation (no, being able to find some MVPs' user groups posts about the bug is not documentation) and the method was never removed or even made obsolete!

Now the post's question is raised - Why would you re-ship an API known to be buggy beyond any workaround, version after version after version for more than half a decade? There's no backwards compatibility needed here, since no one would use this feature once they realized it would fail them. The least you could do is put a big, red, blinking warning in the documentation stating that this API has never worked and still does not work to date.

So a warning to all who think of trying: Do not use Region's Union method!

More Posts