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 overridefonctions et des virtualfonctions.
Est-ce mauvais et devrait être évité ou non? Est-ce que cela en vaut même la peine?