Je sais que ce sujet général a déjà été abordé ici. Ce qui m'intéresse, c'est de savoir s'il existe une bonne solution pour mon cas spécifique :
J'ai un outil en ligne de commande comme celui-ci (simplifié) :
static void Main(string[] args)
{
if (args.Length < 2)
{
Console.WriteLine("Usage: MyTool <InputFolder> <OutputFolder>");
return;
}
string inputFolder = args[0];
string outputFolder = args[1];
// ...
}
J'attribue des noms aux valeurs des arguments pour rendre le code plus lisible. Je tiens également à exprimer que ces valeurs ne seront pas modifiées ultérieurement.
Ni l'un ni l'autre const
ni readonly
peut être utilisé ici parce que les valeurs ne sont pas connues au moment de la compilation et parce qu'il s'agit de "variables" locales et non de membres de la classe.
Alors, comment puis-je rendre ce code plus expressif et plus lisible ?