Comment remplacer les espaces et tabulations en fin de lignes dans les modules de code sans trop d’effort ?

SQL Server Management Studio dispose d’un outil de recherche et de remplacement de texte, qui permet notamment de travailler avec des expressions régulières. Il m’arrive souvent dans des tâches de refactoring de trouver un très grand nombre d’espaces ou de tabulations à la fin des lignes, et je suis bien plus passionné par optimiser et standardiser le code que par supprimer ce type de micro-boulettes.


On trouve l’outil de recherche et de remplacement de texte en suivant le menu Edit, ou en pressant CTRL + F pour la recherche, et CTRL + H pour le remplacement :

Dans le simple but de standardiser le code, l’expression régulière :b+\n, qui signifie tout espace ou tabulation avant le retour à la ligne, peut simplement être remplacée par \n :

Un simple clic sur Replace All, et les vilains espaces et tabulations sont soustraits.

Au-delà de ceci, vous pouvez considérer que je pinaille, voire même que je suis maniaque. C’est probablement vrai ! Mais il faut aussi considérer le cache de requêtes. Si l’on prend une requête et qu’on lui ajoute un espace, une tabulation, ou tout autre caractère sans effet sur la syntaxe ou le résultat de cette requête, SQL Server considère ceci, au niveau du cache de requêtes, comme deux requêtes différentes, étant donné que leur valeur de hachage sera différente. C’est à l’aide de cette valeur que le moteur vérifie s’il existe déjà un plan en cache pour cette requête ou non.

Laisser un commentaire