Entonces tenemos una interfaz como esta
/// <summary>
/// Interface for classes capable of creating foos
/// </summary>
public interface ICreatesFoo
{
/// <summary>
/// Creates foos
/// </summary>
void Create(Foo foo);
/// <summary>
/// Does Bar stuff
/// </summary>
void Bar();
}
Recientemente, reprodujimos una historia de documentación que implicaba generar y garantizar que haya mucha documentación XML como la anterior. Sin embargo, esto causó mucha duplicación de documentación. Implementación de ejemplo:
/// <summary>
/// A Foo Creator which is fast
/// </summary>
public class FastFooCreator : ICreatesFoo
{
/// <summary>
/// Creates foos
/// </summary>
public void Create(Foo foo)
{
//insert code here
}
/// <summary>
/// Does Bar stuff
/// </summary>
public void Bar()
{
//code here
}
}
Como puede ver, la documentación del método es una copia directa de la interfaz.
La gran pregunta es, ¿es esto algo malo? Mi instinto me dice que sí debido a la duplicación, pero de nuevo tal vez no.
Además, tenemos otra duplicación de documentación similar con override
funciones y virtual
funciones.
¿Es esto malo y debe evitarse o no? ¿Vale la pena incluso?