I have spent the last few years making fun of the ugly, indecipherable names COM used as it aged and now I am starting to see it in our own platform.  I am doing some API reviews for Whidbey and I ran across IDataReader2…. Not to far from IDataReaderEx3 in a couple of years.  Fear of this situation is one of the things that lead me to recommend using base classes over interfaces.  

 

But, this is where we are, so suggestions on naming?  Should I gave in and adopt the Ex or [2, 3, 4] suffix pattern or force only slightly more meaningful name? such as IDataReaderFoo for a IDataReader that also supports Fooness?