Zář
18
Podrobně je to na MSDN, tohle je takový můj stručný výtah.
Dokumentační blok
Docbloky se v C# dělají trochu odlišně od Javy nebo PHP. Skládají se z řádkových komentářů, které mají o lomítko víc a jednotlivé části se uzavírají do jakoby-XML značek:
/// <summary>
/// Stručný popis třídy Foo.
/// </summary>
public class Foo
{
/// <summary>
/// Popis metody Bar.
/// </summary>
/// <param name="abc">Popis parametru abc.</param>
/// <returns>Metoda vrátí 123.</returns>
public int Bar(string abc)
{
return 123;
}
}
(Takhle to vypadá dost nepřehledně, protože zvýrazňovač syntaxe FSHL neumí C#, v IDE to vypadá o něco lépe.)
Je možné používat i /** */ zápis, ale není to
obvyklé.
Doporučované značky
| Značka | Popis |
|---|---|
<c> |
Kus kódu v textu. |
<code> |
Víceřádkový blok kódu. |
<example> |
Popis příkladu použití. |
<exception cref="..."> |
Popis možné výjimky, například: <exception
cref="SampleException">Thrown when...</exception>. |
<include filename="..." tagpath="..." name="..." id="..."
/> |
Podle mě zbytečná pitomina. Možnost místo dokumentačního komentáře uvést odkaz do jiného souboru… |
<list type="..."> |
Seznam nebo tabulka. Docela neohrabaný zápis, to asi moc často využívat nebudu, viz MSDN. |
<para> |
Odstavec. Pokud je třeba <remarks> sekce moc dlouhá,
může přijít vhod rozčlenit do odstavců. |
<param name="..."> |
Popis parametru metody, viz příklad výše. |
<paramref name="..." /> |
Odkaz na parametr. Například v popisu metody: /// <summary> |
<permission cref="..."> |
Tuším, že to souvisí s CAS, ale k tomu jsem se ještě blíže nedostal, takže tomu nerozumím… |
<remarks> |
Doplňující informace, ukecanější pokračování stručného
<summary>. |
<returns> |
Popis návratové hodnoty. Viz příklad výše. |
<see cref="..." /> |
Odkaz z textu na nějaký kód, například: /// Tato metoda k
něčemu používá <see cref="SampleSpace.SampleClass"/>. |
<seealso cref="..." /> |
Odkaz na kód, který v dokumentaci patří do sekce „See Also“. |
<summary> |
Stručný popis popisovaného prvku (třídy, metody apod.). |
<typeparam name="..."> |
Popis typového parametru. Například u třídy
SampleClass<T,U> jsou typové parametry T a
U, ty lze tedy dokumentovat touto značkou. |
<typeparamref name="..." /> |
Podobné jako <paramref name="..."/>, akorát tady se
odkazujeme na typový parametr. |
<value> |
Popis hodnoty property. |
Využití
Především tuhle dokumentaci využívá IntelliSense.
Krom toho je možné z toho vygenerovat API dokumentaci nástrojem Sandcastle, postup ale není úplně přímočarý, viz:
