Quindi abbiamo un'interfaccia simile
/// <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();
}
Di recente, abbiamo riprodotto una storia di documentazione che prevedeva la generazione e la garanzia che ci fosse molta documentazione XML come sopra. Ciò ha causato tuttavia una duplicazione della documentazione. Esempio di implementazione:
/// <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
}
}
Come puoi vedere, la documentazione del metodo è un semplice strappo dall'interfaccia.
La grande domanda è: è una brutta cosa? Il mio istinto mi dice di sì a causa della duplicazione, ma forse di nuovo no?
Inoltre, abbiamo un'altra duplicazione della documentazione simile con override
funzioni e virtual
funzioni.
È cattivo e dovrebbe essere evitato o no? Ne vale la pena anche?