We're redesigning our application's plugin interface, so we're using the Adapter pattern with our proof-of-concept design to show that the new interface will function without committing to using it in the application itself.

We don't know what to call this new interface. It serves the same purpose as the old one - let's call that one CAbstractAppPlugin. Furthermore it will likely be, like its predecessor, an abstract class rather than a pure virtual interface (C++) indicating that we should still use "CAbstract" instead of "I". Slapping a "New" or "2" onto the name seems silly, but adopting a very similar name could lead to confusion until the old one is deprecated.

So how do you name a thing X that's replacing thing Y?

closed as primarily opinion-based by user40980, durron597, gnat, Kilian Foth, user22815 Aug 4 '15 at 2:16

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    What's better about the new one? Could this be part of the name? – Mike Aug 15 '13 at 21:37
  • If it's temporary, you should live with silly. – JeffO Aug 16 '13 at 4:16
  • @TravisChristian: For added compatibility, consider having your V2 abstract class inherit from the original abstract class. That may allow old code to work without modification. – Brian Aug 20 '13 at 14:55

Unless they're something conceptual that you can add to the name, I'd just go with CAbstractAppPlugin2 or something similar. Your documentation can identify the differences.

CAbstractAppPluginWithSuperSizeFunctionAdded seems equally ridiculous, if not more so.

  • A very similar option would be to go with CAbstractAppPluginV2. – Bobson Aug 15 '13 at 21:44
  • @Bobson: I thought about that, but felt that V2 might imply that it is a part of a larger version encompassing the entire application, not just that particular interface. – Robert Harvey Aug 16 '13 at 0:08
  • 1
    We're going with V2 which it turns out has been used on some regularly updated schemas in our code base. – Travis Christian Aug 16 '13 at 15:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.