2009-05-28 9 views
2

Est-il logique de créer une constante pour la valeur d'un penny? Par exemple, si j'ai besoin de décrémenter un montant d'un centime. Pensez-vous qu'il est plus lisible si le code dit:Constantes dans une application Web C#

amount -= Constants.StandardAmounts.Penny 

Ou devrais-je même pas la peine et il suffit d'utiliser .01.

+0

Votre application utilise uniquement la devise américaine? –

Répondre

11

Dans votre exemple spécifique, cette constante particulière ne fait pas vraiment de sens. Les deux plus probables scénarios pour soustraire un penny sont:

  • Fulfill une entreprise très spécifique/exigence logique de domaine:

    Si oui, la constante ne devrait pas être Penny = .01, mais StandardDeduction = .01

  • gérer plus mathématiques arbitraires/fluides:

    Dans ce cas, il suffit d'utiliser les numéros.

Dans les deux cas, "Penny" est inutile. Il n'ajoute aucune information utile. C'est comme déclarer constant HelloWorld = "HelloWorld". Chaque programmeur qui a même une vague idée de ce que fait votre application (calculs financiers) comprend ce que .01 est. Les constantes devraient être motivées par leur but.

1

Je voudrais utiliser la constante. Non pas parce que la valeur d'un penny va changer, mais simplement pour plus de clarté aux futurs responsables de l'application.

EDIT: Je suppose que je voudrais aussi tenir compte du nombre de places que cette valeur sera utilisée.

0

Vous pouvez même changer pour pour une meilleure lisibilité:

amount -= Standards.USCurrency.Penny 
0

Je mettrais la décrémentation dans une méthode et nommez cette méthode appropriée (c.-à rester à l'écart d'avoir sou dans le titre). Ainsi, par exemple, si vous avez une application de supermarché et que chaque client obtient une réduction de 1 penny, vous pouvez simplement appeler DeductCustomerLoyaltyAmount(). Cela a ces avantages:

  1. Toute personne qui lit le code a maintenant une compréhension complète des raisons pour lesquelles la décrémentation se passe.

  2. Vous pouvez modifier la valeur de décrémentation sans affecter le sens de la méthode.

  3. Votre code de la mondialisation (pour gérer d'autres devises) est centralisée.

Questions connexes