Wenn mehrere Überlastungen der gleichen Methode bereitstellt, ich habe oft die Beschreibung des Verfahrens zu wiederholen, die DRY verletzt und erhöht die Wartungskosten:DRY XML-Kommentare
/// <summary>
/// Frobnicates all foos read from the given reader. Frobnication is a
/// process where ...[lots of text]...
/// </summary>
/// <param name="hasBar">[Description of hasBar]</param>
void FrobnicateFoo(TextReader reader, bool hasBar)
{
...
}
/// <summary>
/// Frobnicates all foos read from the given file. Frobnication is a
/// process where ...[same lots of text]...
/// </summary>
/// <param name="hasBar">[Same description of hasBar]</param>
void FrobnicateFoo(String path, bool hasBar)
{
...
}
Dieses Problem wird noch schlimmer, wenn mehrere Parameter mit der Der gleiche Zweck wird wiederholt ("hasBar" wird als Beispiel angegeben).
One „Abhilfe“ Ich fand auf „Referenz“ die andere Dokumentation:
/// <summary>
/// Frobnicates all foos read from the given reader. Frobnication is a
/// process where ...[lots of text]...
/// </summary>
/// <param name="hasBar">[Description of hasBar]</param>
void FrobnicateFoo(TextReader reader, bool hasBar)
{
...
}
/// <summary>
/// Convenience method which opens the file with a UTF-8 encoding and then
/// frobnicates all foos, see FrobnicateFoo(TextReader).
/// </summary>
void FrobnicateFoo(String path, bool hasBar)
{
...
}
Offensichtlich, das ist weniger bequem für den Benutzer der Bibliothek.
Gibt es einen eingebauten Mechanismus (oder intelligente Strategie), den ich verwenden kann, um Doppelarbeit zu vermeiden und machen das Leben einfach für die Benutzer meiner Methoden? Ich bin hauptsächlich besorgt über IntelliSense, nicht generierte HTML-Dokumentation.
Obwohl ich sehe, warum Sie sie als Tags hinzugefügt haben, ist dies keine C# oder VB spezifische Frage ... Vielleicht .NET statt? –
@DanielShillcock: Ich bin vollkommen in Ordnung mit C# - oder VB-only-Lösung, sollte es welche geben. :-) Es gibt .NET-Sprachen, die überhaupt keine XML-Kommentare unterstützen (zB Boo). – Heinzi
Ich glaube, dass es keine Antwort auf Ihre Frage gibt. Beim Verfassen von Dokumenten wiederholst du dich oft :( –