Amazon.com Widgets

What is a breaking change?

While on my FrontLine trip I was surprised at the number of teams that produce a “shared library”.  That is team “A” is producing an assembly that other teams across the company (or outside the company) need to consume.   It was interesting to me as this is exactly what we do in building the .NET Framework and WinFX.   So when I got back to the office I set about trying to make sure our “best practices” for this sort of thing are published.  

 

One of the more valuable resources we use internally is a formal definition of what a “breaking change” is.  That is what are the rules team “A” should follow such that new builds of their library don’t break all their clients.  Some things are obvious “don’t remove any public methods” but some are subtle such as “don’t change return types of public methods”. 

 

Breaking Changes in a Managed World

 

Oh, and here is Kit’s intro to the doc

Published 09 April 05 05:00 by BradA

Comments

# Andrew said on April 9, 2005 7:22 AM:
Are you really expecting someone to download an exe with that name lightheartedly?

Cheers,

Andrew
# Frederik said on April 9, 2005 10:10 AM:
You might want to remove the commens from that Word file. It's not really useful.

As for downloading a file, I'd trust most things that come from dowload.microsoft.com and is digitally signed.
# David Boschmans' Weblog said on April 9, 2005 12:52 PM:
What's a breaking change ... and what's not?
# David Smith said on April 12, 2005 3:17 AM:
I think something that may impact how many breaking changes need to be made is the Interface Extractor that ships with VS2005.

This tool is extremely useful, but I'm weary of the fact that developers may build their classes and extract interfaces without thinking much about what implications that may have later down the road.

Then it may turn out that the interface may need to change later in the game. *breaking change alert*

Ideally, we'd like to see interfaces published, and never touched again.

Have you guys thought about the Interface Extractor functionality in VS2005 in the past, and its implications to the design process?

It seems like worth-while enough oppritunity for risk to design process itself to address.


P.S. I love the Interface Extrator. =D
# Matt said on April 15, 2005 2:54 AM:
"I was surprised at the number of teams" - One day you should come an visit and investment bank, you might then see the size and quantity of libraries that are reused within a single organisation
# Geek Noise said on April 15, 2005 6:49 PM:
# Thogek said on April 18, 2005 1:01 PM:
BTW, *any* information -- standards, best practices, advice, etc -- that Microsoft might have for those of us who are getting started in the area of building common shared library code would be much appreciated.

Thanks!
# Brad Abrams What is a breaking change | debt consolidator said on June 19, 2009 10:23 AM:

PingBack from http://mydebtconsolidator.info/story.php?id=13306

New Comments to this post are disabled

Search

This Blog

Syndication

Page view tracker