Komentarze

pRoGi

Komentarze są bardzo ważne w programowaniu, używanie ich jest dobrym nawykiem, który szczególnie docenimy powracając do starego kodu po dłuższym czasie. W języku C# wyróżniamy trzy rodzaje komentarzy. Dwa z nich wyglądają dokładnie tak samo jak w języku C, a użycie ich wygląda następująco:

// tak wygląda prosty komentarz
namespace Komentarze
{ // wszystko do końca tej linii jest komentarzem
	class Komentarz
	{
		public static void Main()
	         {	
	/* użycie takiego komentarza 
	   pozwala nam
	   zaznaczyć kilka linii jako komentarz*/
		}
	}
	// obydwa rodzaje komentarza są niewidoczne dla kompilatora
}

Dokumentacja XML

Ciekawą rzeczą w języku C# jest możliwość tworzenia komentarzy w formacie XML, co pozwala na automatyczne generowanie dokumentacji projektu (którą można później np. przetransformować przy pomocy języka XSL), a także ułatwia pisanie dalszych części programu, gdyż te komentarze wyświetlane są przez IntelliSense jako podpowiedzi, opisy. Użycie takich komentarzy może wyglądać następująco:

namespace Komentarze
{ 
	/// <summary>
	/// Opis klasy KomentarzXML
	/// </summary>
	public class KomentarzXML
	{
		/// <summary>
		/// Tutaj umieszczamy opis dotyczący funkcji
		/// np. funkcja zwraca dwukrotność podanej liczby
		/// </summary>
		/// <param name="n">tu możemy umieścić komentarz dotyczący zmiennej n</param>
		/// <returns>tutaj komentarz dotyczący zwracanego typu</returns>
		static int Dwukrotność(int n)
		{
			return n+n;
		}
		/// <summary>
		/// Miejsce startowe aplikacji
		/// </summary>
		public static void Main()
		{
		}
	}
}

Znaczniki dokumentacyjne:

``` * <summary> - Krótki opis elementu * <remarks> - Rozbudowany opis elementu * <c> - Formatowanie znaków jako kodu * - Formatowanie znaków jako kodu używane w sekcji <example> * <example> - Przykład użycia klasy lub metody * <exception> - Wyjątki zwracane przez klasę * <list> - Lista elementów * <param> - Opis parametru przypisanego do funkcji * <paramref> - Odwołanie do parametru w innym tekście * <permission> - Zezwolenie * <returns> - Wartość zwracana przez funkcje * <see cref="składowa"> - Łącze do innej składowej klasy * <seealso cref="składowa"> - Łącze w sekcji "zobacz również" * <value> - Opis wartości właściwości ```

Do programu można dołączać zewnętrzne pliki dokumentacji, które będą traktowane tak jakby znajdowały się w pliku z kodem źródłowym, jest to przydatne gdy dokumentacje i kod tworzą różne osoby.

/// <include fille='plik.csx' path='doc/member[@name="test"]' />

Taki komentarz pobiera przy pomocy pseudo języka Xpath sekcje member o parametrze name = "test" z sekcji doc zawartej w pliku "plik.csx":

<doc>
    (...)
    <member name="test">
        <summary>opis</summary>
    </member>
    (...)
</doc>

0 komentarzy