Quindi abbiamo un'interfaccia come questa
/// <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();
}
Recentemente, abbiamo svolto una storia di documentazione che prevedeva la generazione e l'assicurazione che ci fosse abbondanza di documentazione XML come sopra. Ciò ha causato un sacco di duplicazione della documentazione però. Implementazione di esempio:
/// <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'interfaccia diretta dall'interfaccia.
La grande domanda è, è una cosa brutta? Il mio istinto mi dice sì a causa della duplicazione, ma di nuovo forse no?
Inoltre, abbiamo altre duplicazioni di documentazione simili con funzioni override
e funzioni virtual
.
Questo è cattivo e dovrebbe essere evitato, o no? Ne vale davvero la pena?