Krantz,
Ce n'est pas l'utilisation d'expressions régulières qui me dérange, c'est plutôt le fait d'être obligé d'en avoir deux pour pouvoir faire un String.Replace()
- un qui renvoie [tag] et [/tag]
- un qui renvoie tag et /tag
Je me demandais s'il n'y avais pas plus simple avec une méthode de Regex que je ne connais pas.
daerlnaxe,
Je ne suis pas certain que le raccourci syntaxique "? :" améliore l'élégance dans ce cas là.
En tout cas, ce n'est qu'un avis parmi d'autre, mais ça n'aide pas à la lisibilité.
input = output1[i].Value.StartsWith("/") ? input.Replace(output2[i].Value, "</span>") : input.Replace(output2[i].Value, String.Format(CultureInfo.InvariantCulture, @"<span class=""{0}"">", output1[i].Value));
Quand à faire sauter les accolades, je pense que c'est une mauvaise habitude car :
D'une part c'est un coup à les oublier en cas d'ajout de nouvelles lignes dans le bloc.
D'autre part ça nuit à la relecture surtout quand certaines personnes ont des habitudes d'indentation bizarres.
Quand tu relis et que tu vois deux lignes sous un if (avec la même indentation, ou qui sont collées), tu ne sais pas si c'est fait exprès et que c'est simplement mal indenté ou si le développeur à oublier de mettre les accolades.
En les mettant systématiquement, tu ne te pose plus la question.
Le plus sain est de rédiger des règles d'écritures que chacun doit suivre.
Partager