mercredi 26 juin 2019

Versioning approach - Numbers vs Adjectives

Mostly this question has no certain answer, but I wonder the opinion of the community. We're going to implement a new version of data models (we're going to support existing one for a while). And currently, we have a few options to implement naming:

1) Use some implementation sign (like User -> gmUser). I don't like it first because it doesn't give us a solution for future changes. Plus I don't want to link interface name to an implementation

2) Use numbers for versioning (like User -> v2User / User2 , User3 and so on) - this is more widely spread approach. But such naming looks strange for me. Plus there is a sub-proposal to rename User3 -> User as soon as no one uses original User

3) Use prefixes for versions (like User -> AwesomeUser, Application -> AwesomeApplication). Under the hood, it supposed to follow an alphabetic order, but in general, such naming just says that User and AwesomeUser are different entities.

I'm personally for the 3rd option. But my counterparts say that no one uses that option. And there is a reason for it. I know that those who use such naming mostly do it for marketing. But for me, it makes the code more readable.

I wonder about community opinions and some profs for best practices.

Thanks in advance

Aucun commentaire:

Enregistrer un commentaire