Je travaille sur une application avec de nombreuses constantes. Lors de la dernière révision du code, il est apparu que les constantes sont trop dispersées et devraient toutes être organisées en un seul fichier de constantes "maître". Le désaccord porte sur la façon de les organiser. La majorité pense que l'utilisation du nom constant devrait être suffisante, mais cela conduira à un code qui ressemble à ceci:
public static final String CREDITCARD_ACTION_SUBMITDATA = "6767";
public static final String CREDITCARD_UIFIELDID_CARDHOLDER_NAME = "3959854";
public static final String CREDITCARD_UIFIELDID_EXPIRY_MONTH = "3524";
public static final String CREDITCARD_UIFIELDID_ACCOUNT_ID = "3524";
...
public static final String BANKPAYMENT_UIFIELDID_ACCOUNT_ID = "9987";
Je trouve que ce type de convention de dénomination est lourd. J'ai pensé qu'il pourrait être plus facile d'utiliser une classe publique imbriquée et d'avoir quelque chose comme ceci:
public class IntegrationSystemConstants
{
public class CreditCard
{
public static final String UI_EXPIRY_MONTH = "3524";
public static final String UI_ACCOUNT_ID = "3524";
...
}
public class BankAccount
{
public static final String UI_ACCOUNT_ID = "9987";
...
}
}
Cette idée n'a pas été bien reçue car elle était "trop compliquée" (je n'ai pas obtenu beaucoup de détails sur la raison pour laquelle cela pourrait être trop compliqué). Je pense que cela crée une meilleure division entre les groupes de constantes connexes et la saisie semi-automatique facilite également la recherche de celles-ci. Je n'ai jamais vu cela se faire cependant, donc je me demande si c'est une pratique acceptée ou s'il y a de meilleures raisons pour lesquelles cela ne devrait pas être fait.