Pour le projet que je suis actuellement, je dois fournir des chaînes spécialement formatées à un service tiers pour le traitement. Et donc je vais construire les cordes comme ceci:Doit-on stocker des chaînes de format dans les ressources?
string someString = string.Format("{0}{1}{2}: Some message. Some percentage: {3}%", token1, token2, token3, number);
plutôt coder en dur alors la chaîne, je pensais à le déplacer dans les ressources du projet:
string someString = string.Format(Properties.Resources.SomeString, token1, token2, token3, number);
La deuxième option est à mon avis , pas aussi lisible que le premier, c'est-à-dire que la personne qui lit le code devra extraire les ressources de la corde pour déterminer à quoi ressemblera le résultat final.
Comment puis-je contourner ce problème? La chaîne de format codée en dur est-elle un mal nécessaire dans ce cas?
Vous devriez aussi ajouter des commentaires au fichier de ressources pour dire quels sont les paramètres. Ceci est très utile pour les localisateurs si le fichier est traduit. –
@CodingMonkey: convenu. Rendez la vie aussi facile pour les ingénieurs de localisation que possible. Vous ne voulez pas de devinettes de traduction. –
@MichaelPetrotta> Comment stabiliser le code pour que ces chaînes {0} ne soient plus nécessaires? Je pense personnellement à ne pas utiliser 'string.Format' mais j'utilise:' "begin {middle} end" .Replace ("{middle}", middle) '. Bien sûr, cette approche a ses propres problèmes ... – Laoujin