Ich bin in dieses Dilemma geraten, als ich an einer ASP.net-Webanwendung unter Verwendung von Webclient Software Factory (WCSF) in C# gearbeitet habe. Dasselbe könnte auch für andere Plattformen und Sprachen gelten. Meine Situation ist wie folgt aus:Wie sollten Kommentare für Schnittstellen- und Klassenmethoden anders sein?
ich eine I View-Schnittstelle für jede Web-Seite/Benutzersteuerung am definieren basierend auf WCSF Paradigma, haben dann die Seite Klasse die ich View-Schnittstelle implementieren, im Grunde jede der Methoden der Umsetzung definiert in die Schnittstelle. Als ich versuchte, XML-Dokumentation auf der Methodenebene hinzuzufügen, wiederholte ich den gleichen Kommentarinhalt für beide Interface-Methoden und ihren Gegenpart in der implementierenden Klasse.
Meine Frage ist also: sollte es einen wesentlichen Unterschied zwischen dem Dokumentationsinhalt auf der Interface-Methode und der entsprechenden Klassenmethode geben? Sollten sie einen anderen Aspekt oder etwas betonen?
Jemand sagte mir, dass der Kommentar der Interface-Methode sagen sollte, "was" die Methode tun soll, und der Kommentar der Klassenmethode sollte sagen "wie" es das tut. Aber ich erinnere mich, irgendwo vorher gelesen zu haben, dass der Kommentar auf Methodenebene nur sagen sollte, "was" die Methode tun sollte, niemals die Implementierungsdetails der Methode, da die Implementierung kein Problem für Methodenbenutzer sein sollte und sich ändern könnte.
Dies ist die Antwort, vor der ich eigentlich Angst hatte :), aber ich denke, Sie haben Recht. Ich werde getragen und wiederhole den gleichen Inhalt an beiden Orten. Copy-n-Paste half, es zu beschleunigen, aber die Tatsache, dass ich das mache, schreckt mich ... – hongliang
@Hongliang: Wenn Sie eine Schnittstelle implementieren, erhalten Sie eine Kopie von GhostDoc - Sie können einen einzigen Schlüssel verwenden, um XML-Dokument-Kommentare für die implementierende Klasse auszufüllen und die Kommentare von der Schnittstelle zu kopieren. Sehr glatt: http://submain.com/products/ghostdoc.aspx –
Wow! Genau das möchte ich. Vielen Dank! – hongliang