Nous avons donc une interface comme ça
/// <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();
}
Récemment, nous avons joué une histoire de documentation qui impliquait de générer et de s'assurer qu'il y avait beaucoup de documentation XML comme ci-dessus. Cela a cependant causé beaucoup de duplication de la documentation. Exemple d'implémentation:
/// <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
}
}
Comme vous pouvez le voir, la documentation de la méthode est une extraction directe de l'interface.
La grande question est, est-ce une mauvaise chose? Mon instinct me dit oui à cause de la duplication, mais là encore peut-être pas?
En outre, nous avons d'autres duplications de documentation similaires avec des override
fonctions et des virtual
fonctions.
Est-ce mauvais et devrait être évité ou non? Est-ce que cela en vaut même la peine?