Programujeme v jazyku C# - Diel 15. - MIX zaujímavostí III.

Michal Čižmár  /  02. 03. 2005, 00:00

Nakoniec série o zaujímavých konštrukciách v C# som si nechal lahôdku : nový typ komentárov, s ktorým ste sa možno ešte nestretli. Odporúčam čítať profesionálnym programátorom, ktorí chcú prejsť na C# ako aj začiatočníkom.

Dúfam, že táto séria článkov bola pre vás malým osviežením a navnadila vás pre ďalšie programovanie v modernom programovacom jazyku C#. Nakoniec série som si nechal starú známu čerešničku na torte (ale takú programátorskú). Ak vás zaujímavosti v C# zaujali napíšte do diskusie a ja zas po pár dieloch niečo nazbieram.

>>Programujeme zavináče :-)

Možno, že je sa vám to zdá divné, ale aj v C# sa pri programovaní používa symbol zavináč. Ja som sa s ním stretol v Basicu a Assamblery. Môžete sa zaobísť aj bez tejto špeciálnej konštrukcie, ale niekedy sa vám to môže zísť, buď pri programovaní vlastných programov alebo pri čítaní cudzích. Dá sa povedať, že trochu napomáha k sprehľadneniu kódu aj keď len v pár konkrétnych prípadoch.

>>Dosť teórie, ako sa to používa?

Symbol zavináč sa používa pri pomenovávaní, či už premenných alebo funkcií. Ide o špeciálny prípad, keď sa vám zdá vhodné použiť určité pomenovanie, ale tento výraz je aj kľúčové slovo (špeciálny výraz) v C#. Napr. : switch, do, public .....
Ako vždy dám hneď príklad:

Príklad 15.1

//--------------------------------------------------------
using
System;
class
MainClass
{
   public static void Main()
   {
      int od = 1;
      int @do = 5;

      for(int i = od ; i < @do ; i++)
        Console.WriteLine("i = {0}",
                          @switch(i ));
    }
    public static int @switch(int num)
    {
       if ( num > 2 ) return 1;
       else return 0;
    }
}

//--------------------------------------------------------

Na stiahnutie: www.inet.sk/download/user/Priklad15.1_Zavinac.zip

Myslím si, že z príkladu je všetko jasné. Stačí iba hodiť zavináč pred meno a už daný výraz nie je chápaný ako kľúčové slovo. Ak tam zavináč nebude, prekladač zahlási chyby.

>>Nakoniec, sľúbené komentáre

Nový typ komentárov v C# je veľmi ľahko použiteľný a má určite výrazný praktický význam. Jeho základná úloha je taká istá, ako u klasických komentárov // a /* */ , teda vám zjednodušiť rýchle pochopenie algoritmu aj po určitej dobe. Alebo pomôcť aj vašim kolegom (či kolegyniam) použiť vaše nápady. :-)

Druhá funkcia, ktorá sa mi veľmi páči, je automatické vytvorenie dokumentácie k zdrojovým súborom, čo sa môže zísť hlavne pri veľkých projektoch. Ak sú zdrojáky dobre okomentované, nič nebráni tomu použiť z nich dobré a funkčné algoritmy aj v nových projektoch. Ak sú zdrojové súbory rozsiahle, môžu aj dobré nápady, náležíte okomentované, zapadnúť prachom.

V C# jednoducho vytvoríte dokumentáciu tretím typom komentárov. Pripomínam, že nejde o dokumentáciu z hľadiska použitia už celého programu, teda pre užívateľa.

Príklad 15.2

//--------------------------------------------------------
using
System;
public
class MainClass
{
   /// <sumary>
   ///
Iba hlavna funkcia
   ///</sumary>
   /// <seealso cref=
"MainClass.Fibonacci"/>
   public static void Main()
   {
      Console.WriteLine(" Fibonaciho cislo pre 22 je {0}",
                        Fibonacci(22));
   }
   /// <summary> Funkcia na vypocet
   /// Fibonacciho cisla, algorimus je rychlejsi
   /// ako rekurzivna metoda.</summary>
   /// <returns>
long, malo by stacit </returns>
   /// <param name=
"num">Pozor! Len int </param>
   /// <example><c>
Fibonaci(0) = 0
   /// Fibonaci(1) = 1
   /// Fibonaci(2)=0+1=1
   /// Fibonaci(3)=Fib(2)+Fib(1)=
   /// = 1 + 1 =2 </c></example
  
   public static long Fibonacci(int num)
   {
      int prve = 0;
      int druhe = 1;
      int temp;
      if (num == prve) return 0;

      for(int i = 2; i < num ; i++)
      {
          temp = prve;
          prve = druhe;
          druhe = temp + druhe;
      }
      return (prve + druhe);
   }
}

//-----------------------------------------------------

Na stiahnutie :
www.inet.sk/download/user/Priklad15.2_TretiaGeneraciaKomentarov.zip


>>Ako vytvoriť dokumentáciu?

Prostredie SharpDevelop má túto funkciu. Aj keď majú jeho vývojary ešte čo dorobiť, je to už použiteľné. Stručný popis :
1. Project -> Project Options -> Configurations -> Release ->
Generate XML Documentation.
nastavte na True a OK.

Na začiatku programovania je typ výstupného .exe súboru (programu) nastavený na Debug, to znamená, že sú tam nadbytočné informácie, ktoré uľahčujú hľadanie chýb. Keď je ale program náležite otestovaní, tak zmeníme typ na Release. Je to možné urobiť v blízkosti pravého horného rohu hlavné okna SharpDebvelop-eru

2. Zmeňte Debug na Release .
3. Project -> Generate Documentation
4. Documentation type nastavte na JavaDoc (funguje najlepšie), okno ešte nezatvárajte.
5. Documentation -> Build

Ak všetko dobre prebehlo, máte v adresári doc (je to podadresár niekde v hlavnom adresári projektu) html stránku overview-summary.html

HTML dokumentáciu k príkladu 15.2 si môžete stiahnuť tu :
www.inet.sk/download/user/Priklad15.2_Dokumentacia.zip

>>Čo bude nabudúce?

S najväčšou pravdepodobnosťou práca s textovými reťazcami, ale pre istotu to skontrolujte budúcu stredu :-)

>>Predchádzajúce diely:
Programujeme v jazyku C# - Diel 14. - MIX zaujímavostí II.
Programujeme v jazyku C# - Diel 13. - MIX zaujímavostí I.
Programujeme v jazyku C# - Diel 12. - Cykly III.
Programujeme v jazyku C# - Diel 11. - Cykly II.
Programujeme v jazyku C# - Diel 10. - Cykly I.
viac na www.inet.sk/csharp ...


Teším sa na vaše pripomienky a otázky v diskusii alebo píšte na môj e-mail.


Michal Čižmár

micitn@orangemail.sk

Neprehliadnite: