2009-01-22 6 views
1

Avez-vous une convention de dénomination pour les API ou les classes qui sont en cours de mise en place pour remplacer une ancienne version remplissant la même fonction/remplissant le même rôle?Conventions de dénomination pour les API/classes de remplacement

E.g. Windows fait cela en ajoutant « Ex » à la fin de la fonction:

ShellExecute // old 
ShellExecuteEx // new 

Que préférez-vous, et quels sont vous raisonnemens?

  • 2 Adjonction, V2, New, NowInStereo?
  • Renommer une seule fois l'ancienne API de Something à SomethingOld et d'utiliser Something pour le nouveau contenu? Cette option m'inquiète quand il s'agit du contrôle de version, mais il semble également le moins susceptible d'être chargé d'un problème V3 ou ReallyNew dans le futur.
  • Faire un nom complètement différent qui peut décrire la fonction avec moins de précision, mais au moins est différent.
+0

Oui, je me demande si ShellExecuteExExExExExExEx contient combien de 'Ex'es –

Répondre

0

Pourquoi le changer du tout? Les interfaces étant les contrats qu'elles sont, pourquoi briser l'interface après que tout l'utilise.

Edit: Désolé bâcler votre commentaire Josh ...

Je pense que si vous avez pris la peine de créer l'interface que vous devez faire tout votre possible pour le maintenir. Quel genre de mauvais choix pensiez-vous lorsque vous avez commenté avant?

1

Si la nouvelle classe remplit la même fonction que l'ancienne, j'enlève l'ancienne et la remplace par la nouvelle avec le même nom. Je peux toujours consulter l'ancien dans le contrôle de version si nécessaire.

1

La plupart du temps, vous pouvez vous en sortir en changeant le nom du paquet plutôt que le nom de classe lui-même.

Questions connexes