Mamy więc taki interfejs
/// <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();
}
Niedawno odtworzyliśmy historię dokumentacji, która polegała na wygenerowaniu i zapewnieniu dużej ilości dokumentacji XML, jak wyżej. Spowodowało to jednak znaczne powielanie dokumentacji. Przykładowa implementacja:
/// <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
}
}
Jak widać, dokumentacja metody jest prostym zgrywaniem z interfejsu.
Najważniejsze pytanie brzmi: czy to źle? Moje jelita mówi mi tak z powodu duplikacji, ale z drugiej strony może nie?
Mamy też inne podobne powielanie dokumentacji z override
funkcjami i virtual
funkcjami.
Czy to jest złe i należy tego unikać, czy nie? Czy to w ogóle się opłaca?