Así que tenemos una interfaz como tal
/// <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, jugamos una historia de documentación que involucraba la generación y la garantía de que hay mucha documentación XML como la anterior. Esto causó mucha duplicación de documentación sin embargo. Ejemplo de implementación:
/// <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 un rasgón directo desde la interfaz.
La gran pregunta es, ¿es esto algo malo? Mi instinto me dice que sí debido a la duplicación, pero quizás no?
Además, tenemos otra duplicación de documentación similar con las funciones override
y las funciones virtual
.
¿Esto es malo y debería evitarse, o no? ¿Vale la pena incluso?