Programowanie w języku C#

Komentarze

  • 2006-03-21 11:52
  • 2 komentarze
  • 11032 odsłony
  • 5/6
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 * <code> - 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>

2 komentarze

Alver1989 wczoraj, 20:30

This post was very nicely written.
https://www.rebelmouse.com/watchdoctorstrangeonline/
https://www.rebelmouse.com/watchtheaccountantonline/
https://www.rebelmouse.com/watchsplitonline/
https://www.rebelmouse.com/watchmanchesterbytheseaonline/
https://www.rebelmouse.com/watchthefounderonline/
https://www.rebelmouse.com/watchjackreacher2nevergoback/
https://www.rebelmouse.com/watchmoanaonline/
https://www.rebelmouse.com/watchacureforwellnessonline/
https://www.rebelmouse.com/watchunderworldbloodwarsonline/
https://www.rebelmouse.com/residentevilthefinalchapter/
https://www.rebelmouse.com/watchthespacebetweenusonline/
https://www.rebelmouse.com/watchlalalandonline/
https://www.rebelmouse.com/watchpassengersonline/
https://www.rebelmouse.com/watchtulipfeveronline/
https://www.rebelmouse.com/billylynnslonghalftimewalk/
https://www.rebelmouse.com/fantasticbeastswheretofindthem/
https://www.rebelmouse.com/watcharrivalonline/
https://www.rebelmouse.com/watchgoldonline/
https://www.rebelmouse.com/watchxxxreturnofxandercage/
https://www.rebelmouse.com/watchthegirlonthetrainonline/
https://www.rebelmouse.com/watchtheedgeofseventeenonline/
https://www.rebelmouse.com/watchsingonline/
https://www.rebelmouse.com/watchfiftyshadesdarkeronline/
https://www.rebelmouse.com/watchjohnwickchapter2online/
https://www.rebelmouse.com/watchthegreatwallonline/
https://www.rebelmouse.com/watchrogueoneonline/
https://www.rebelmouse.com/watchassassinscreedonline/
https://www.rebelmouse.com/watchloganonline/
https://www.rebelmouse.com/watchthelegobatmanmovieonline/
https://www.rebelmouse.com/watchcollateralbeautyonline/
https://www.rebelmouse.com/watchinfernoonline/
https://www.rebelmouse.com/watchadogspurposeonline/
https://www.rebelmouse.com/watchaunitedkingdomonline/
https://www.rebelmouse.com/watchamonstercallsonline/
https://www.rebelmouse.com/watchtrollsonline/
This is a fantastic website

Alver1989 2016-11-24 11:59

Thanks for the share loved reading the article
http://www.screencast.com/t/2efF85Ms2n
http://www.screencast.com/t/NyE7NoERBy
https://www.rebelmouse.com/watchthefounderonline/
http://www.screencast.com/t/SVjGmcLLX
http://www.screencast.com/t/PSjwLZbKOc1
http://www.screencast.com/t/iNn1aJXcF0n
http://www.screencast.com/t/ldNWSyFG
http://www.screencast.com/t/FgvTI0GD
https://www.rebelmouse.com/watchthespacebetweenusonline/
https://www.rebelmouse.com/watchlightbetweenoceansonline/
http://www.screencast.com/t/XwOJNrkZ
https://www.rebelmouse.com/billylynnslonghalftimewalk/
http://www.screencast.com/t/F1BzpXMHCyN
https://www.rebelmouse.com/watchassassinscreedonline/
http://www.screencast.com/t/1fHBAqWs0r
http://www.screencast.com/t/jVHesf54bHHN
http://www.screencast.com/t/Q9rdMbcfG
http://www.screencast.com/t/7UkINEIM
http://www.screencast.com/t/ow8xOPQfk
https://www.rebelmouse.com/watchsnowdenonline/
http://www.screencast.com/t/s3c6xEHZ6oUg
https://www.rebelmouse.com/watchtheaccountantonline/
https://www.rebelmouse.com/watcharrivalonline/
http://www.screencast.com/t/jgUqS66GrdTT
https://www.rebelmouse.com/watchsingonline/
https://www.rebelmouse.com/watchinfernoonline/
http://www.screencast.com/t/Gn7s9p38MZu8
https://www.rebelmouse.com/watchrogueoneonline/
http://www.screencast.com/t/IxEXO6gGa
http://www.screencast.com/t/9RdJ3GVXGJ
http://www.screencast.com/t/sKEbBNowk0
https://www.rebelmouse.com/watchmanchesterbytheseaonline/
https://www.rebelmouse.com/watchgoldonline/
https://www.rebelmouse.com/watchbenhuronline/
https://www.rebelmouse.com/watchthegirlonthetrainonline/
http://www.screencast.com/t/OC6sjQDO4z
https://www.rebelmouse.com/watchdoctorstrangeonline/
https://www.rebelmouse.com/watchcollateralbeautyonline/
http://www.screencast.com/t/CoSk1Te3iHaW
http://www.screencast.com/t/FE4AZHDmex
https://www.rebelmouse.com/watchthemagnificentsevenonline/
https://www.rebelmouse.com/watchwardogsonline/
https://www.rebelmouse.com/watchpetesdragononline/
http://www.screencast.com/t/pSNHgWlTNzO3
https://www.rebelmouse.com/watchlalalandonline/
http://www.screencast.com/t/P3GEHY1k1
https://www.rebelmouse.com/watchpassengersonline/
http://www.screencast.com/t/7MMsycCfl
https://www.rebelmouse.com/watchsausagepartyonline/
http://www.screencast.com/t/lTRAdwj7Ovh
http://www.screencast.com/t/xyi8sAqIz
http://www.screencast.com/t/LvlwwYCCL
https://www.rebelmouse.com/watchspectralonline/
http://www.screencast.com/t/Xzn8hchmDlN
https://www.rebelmouse.com/watchmechanic2resurrection/
http://www.screencast.com/t/DNnrfBJ0KHZ
http://www.screencast.com/t/FmhFpFV0X
http://www.screencast.com/t/u0x27OXeTknJ
https://www.rebelmouse.com/watchamonstercallsonline/
http://www.screencast.com/t/FyuCVgiK9C
https://www.rebelmouse.com/watchdeepwaterhorizononline/
https://www.rebelmouse.com/missperegrinespeculiarchildren/
https://www.rebelmouse.com/watchmoanaonline/
https://www.rebelmouse.com/watchtrollsonline/
http://www.screencast.com/t/R49jBRCbfvxv
http://www.screencast.com/t/ZHL1LOhjI9
https://www.rebelmouse.com/watchstorksonline/
https://www.rebelmouse.com/fantasticbeastswheretofindthem/
https://www.rebelmouse.com/watchjackreacher2nevergoback/
https://www.rebelmouse.com/watchkuboandtwostringsonline/
https://www.rebelmouse.com/watchflorencefosterjenkins/
https://www.rebelmouse.com/watchtheedgeofseventeenonline/
Thanks for sharing wonderful blogs.