Omer van Kloeten's .NET Zen

Programming is life, the rest is mere details

News

Note: This blog has moved to omervk.wordpress.com.

Omer van Kloeten's Facebook profile

Omer has been professionally developing applications over the past 8 years, both at the IDF’s IT corps and later at the Sela Technology Center, but has had the programming bug ever since he can remember himself.
As a senior developer at NuConomy, a leading web analytics and advertising startup, he leads a wide range of technologies for its flagship products.

Get Firefox


powered by Dapper 

.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