IList, IComparable, ICaramba!

Micah Martin has a post over at Uncle Bob’s that talks about reasons to step away from the I naming convention for interfaces.

For the most part, Ive tried to stick with the framework guidelines as far as this practice goes. However, Micah makes some very compelling arguments as to why this should be avoided. Specifically, the need to change from an interface to an abstract class down the road.

I’m starting to lean towards not naming interfaces with the I convention. Have you made a decision one way or the other on this? If so, which convention are you using and why?