Je voudrais ajouter des parties du code source à la documentation XML. Je pourrais copier & coller le code source à un code < > éléments, comme celui-ci:Comment faire du code source une partie de la documentation XML et ne pas violer DRY?
/// <summary>
/// Says hello world in a very basic way:
/// <code>
/// System.Console.WriteLine("Hello World!");
/// System.Console.WriteLine("Press any key to exit.");
/// System.Console.ReadKey();
/// </code>
/// </summary>
static void Main()
{
System.Console.WriteLine("Hello World!");
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
Le maintien de ce sera douloureux. Existe-t-il d'autres possibilités pour ajouter du code source à la documentation XML en C#?
Je suis en train de traiter la documentation XML avec Sandcastle et je voudrais en faire un fichier d'aide technique (* .chm). Je voudrais ajouter des parties ou compléter des corps de méthode à ce fichier d'aide.
EDIT: Merci pour le commentaire de slide_rule. J'ai ajouté un exemple plus réaliste et moins trivial:
Supposons que j'ai une méthode comme ceci:
public decimal CalculateFee(Bill bill)
{
if (bill.TotalSum < 5000) return 500;
else
{
if (bill.ContainsSpecialOffer) return bill.TotalSum * 0.01;
else return bill.TotalSum * 0.02;
}
}
Il serait agréable d'avoir la possibilité d'ajouter les informations comment la taxe est calculée dans la technique fichier d'aide.
La solution la plus évidente serait d'écrire l'algorithme comme un texte prosaïque dans le commentaire comme: "Si la facture a une somme totale inférieure à 5000 alors ...".
Une autre solution serait de copier & coller le corps de la méthode dans le champ de commentaire et le mettre dans un <code> élément. Ce corps de méthode peut être compris assez facilement, même sans beaucoup de connaissances sur C# - donc il n'y a rien de mal à le mettre dans un fichier d'aide technique.
Les deux solutions violent le principe DRY! Je voudrais ajouter des corps de méthode ou des parties d'un corps de méthode dans le fichier d'aide, sans dupliquer les informations.
Est-ce possible en C#? (Je pense que RDoc pour Ruby est capable de le faire, mais je dois une solution en C#)
Il me semble que vous êtes lutter contre le but de la documentation XML - si je comprends bien, le document XML est plus sur la documentation API que l'application ou la documentation technique. Pourriez-vous donner un exemple moins trivial de ce que vous essayez de faire? – decitrig
Merci pour cette indication ... que c'est la raison pour laquelle personne ne répond. ;-) –
Je documenterais un fichier d'aide technique en utilisant des cas de test unitaires. Puisque les développeurs seront ceux qui le liront, le test unitaire fournira la meilleure façon de définir les choses dans le code. –