Para el proyecto en el que estoy actualmente, tengo que entregar cadenas especialmente formateadas a un servicio de terceros para su procesamiento. Y por lo que estoy construyendo las cadenas de este modo:¿Deberíamos almacenar cadenas de formato en los recursos?
string someString = string.Format("{0}{1}{2}: Some message. Some percentage: {3}%", token1, token2, token3, number);
En lugar de codificar la cadena, que estaba pensando en movimiento en los recursos del proyecto:
string someString = string.Format(Properties.Resources.SomeString, token1, token2, token3, number);
La segunda opción es en mi opinión , no tan legible como el primero, es decir, la persona que lee el código debería tirar de los recursos de cadena para determinar cómo debería ser el resultado final.
¿Cómo puedo evitar esto? ¿Es la cadena de formato codificada un mal necesario en este caso?
También debe agregue comentarios al archivo de recursos para decir cuáles son los parámetros. Esto es muy útil para los localizadores si el archivo alguna vez va a la traducción. –
@CodingMonkey: de acuerdo. Haga la vida más fácil para los ingenieros de localización que pueda. No quieres conjeturas de traducción. –
@MichaelPetrotta> ¿Cómo estabilizarías el código para que estas {0} cadenas ya no sean necesarias? Personalmente, estoy pensando en no usar 'string.Format' pero uso:' "begin {middle} end" .Replace ("{middle}", middle) '. Por supuesto, este enfoque tiene sus propios problemas ... – Laoujin