Komentarz (informatyka)

Komentarz to fragment kodu źródłowego, którego jedynym celem istnienia jest informowanie o czymś osoby czytającej źródła, a który nie ma żadnego wpływu na program - i jest zazwyczaj przez kompilator czy też interpreter pomijany.

Komentarz to typowy lukier składniowy.

Spis treści

[edytuj] Zasady stosowania komentarzy

Istnieją różne szkoły pisania komentarzy - od jednej skrajności, mówiącej, że z komentarzy powinno się móc wywnioskować wszystko co program robi, bez oglądania reszty źródeł, do drugiej, mówiącej, że jeśli kod nie jest oczywisty bez komentarzy, to jest to zły kod, a komentarze są właściwie zbędne.

Generalnie jednak panuje zgoda, że jeśli pisze się komentarz, komentowane powinno być to co kod robi, a nie jak to robi.

Właściwość komentarzy polegająca na ich "niewidzialności" z punktu widzenia kompilatora jest szeroko wykorzystywana jako metoda rozszerzania właściwości języka. W sekcjach stanowiących komentarze zapisywane są dyrektywy dla kompilatora (pascal), treści dla parserów tworzących dokumentacje, czy wręcz całe procedury (JavaScript wewnątrz HTML).

[edytuj] Rodzaje komentarzy

Podział komentarzy w językach programowania można dokonać na podstawie różnych kryteriów:

  • podział ze względu na sposób traktowania komentarzy przez translator
  • podział ze względu na składnię.

[edytuj] Podział ze względu na interpretację

Komentarz (wraz ze znakami wydzielającymi komentarz z kodu źródłowego) mogą być traktowane przez translator:

  • tak, jakby ich nie było, jako znak pusty (oznacza to możliwość wstawienia komentarza wewnątrz literału, np. wh{pętla}ile ; przy czym napis ten przez translator zostanie uznany za napis "while"
  • tak, jak odstęp, np. tak jak spację, np. while{początek pętli}a<b do ; komentarz traktowany jak spacja oddzieli słowo kluczowe "while" od identyfikatora "a"
  • tak, jak instrukcja pusta, np. REM w Basic-u, choć komentarz jest ignorowany, to poprzedzony etykietą umożliwia skok do tego miejsca w programie
  • w inny określony przez implementacje sposób.

[edytuj] Podział ze względu na składnię

Ze względu na składnię komentarz dzieli się na:

  • blokowe
  • liniowe
    • obejmujące całą linię
    • obejmujące linię od określonego znaku/znaków do końca linii
  • inne, specjalne.

Komentarz blokowe charakteryzują się tym, że

  • mają znak lub znaki otwierające komentarz i znak lub znaki zamykające komentarz, np. w języku C: znaki otwierające "http://pl.wikipedia.org/*" i znaki zamykające "*/"
  • powyższe daje możliwość:
    • umieszczania komentarzy wewnątrz linii kodu źródłowego (patrz wyżej)
    • tworzenia komentarz składających się z wielu linii tekstu bez konieczności poprzedzania każdej linii znakiem komentarza.

Komentarze liniowe to komentarze, które rozpoczynają się od określonego znaku/znaków, a kończą znakiem/znakami końca linii (np. znakiem o kodzie ASCII 13 lub parą znaków 13 i 10, albo innymi przyjętymi w danym systemie). Tworzenie komentarz składających się z kilku linii wymaga poprzedzania wszystkich linii tekstu znakami komentarza. Rozróżnić można dwa przypadki:

  • komentarzem musi być cała linia tekstu
  • komentarz rozpoczyna się w dowolnym miejscu linii kodu źródłowego od określonego znaku/znaków, a końcem komentarza jest koniec linii.

Przykład w języku Basic:

 10 REM To jest komentarz składający się z całej linii kodu źródłowego
 20 LET A=1 ' A to komentarz od znaku ' do końca linii

[edytuj] Zestawienie komentarzy

[edytuj] Komentarze w językach programowania

Język programowania Rodzaj Składnia
Assembler, AutoLISP liniowy [instrukcja] ; komentarz
Algol 60 blokowy begin comment komentarz; instrukcje ... end; instrukcje ...
blokowy [[instrukcja]]; comment komentarz; instrukcje ...
blokowy end komentarz <; lub end lub else>
inny: w delkaracji i wywołaniu procedury nazwa_proc(par1) komentarz_2:(par2) komentarz_3:(par3) ... komentarz_n(par_n);
Basic, Visual Basic liniowy [nr linii] REM komentarz
liniowy [nr linii] [Instrukcja] ' komentarz
C, PL/I, PL/M blokowy /* komentarz */
C++ blokowy /* komentarz */
liniowy [instr.] // komentarz
Clipper liniowy1) * komentarz
liniowy && komentarz
liniowy // komentarz
DBase liniowy [instrukcja] && komentarz
liniowy1) * komentarz
Fortran 77 liniowy1) C komentarz
liniowy1) * komentarz
Forth blokowy ( komentarz )
Icon, Perl liniowy [instrukcje] # komentarz
Jean liniowy1) * komentarz
Logo liniowy1)  ; komentarz
Modula 2 blokowy (* komentarz *)
Pascal blokowy { komentarz }
blokowy (* komentarz *)
Prolog liniowy  % komentarz
blokowy /* komentarz */
Simula 67 blokowy comment komentarz;
Snobol liniowy1) * komentarz
1) Znak komentarza musi być pierwszym znakiem w linii kodu:

[edytuj] Zestawienie według rodzajów

rodzaj typ, uwagi składnia języki programowania
liniowy cała linia, znak komentarza musi być pierwszym znakiem * komentarz Clipper, Cobol, DBase, Fortran 77, Snobol, Jean
C komentarz Fortran 77
; komentarz Logo
może być poprzedzony wyłącznie określoną jednostką leksykalną [nr_linii] REM komentarz Basic, Visual Basic
może być poprzedzony instrukcją/instrukcjami [instr.] ' komentarz Basic (niektóre dialekty), Visual Basic
[instr.] ; komentarz Asembler, AutoLISP
[instr.] // komentarz C++, Clipper
[instr.] && komentarz Clipper, DBase
[instr.] % komentarz Prolog
[instr.] # komentarz Icon, Perl
blokowy o zapisie swobodnym { komentarz } Pascal
(* komentarz *) Pascal, Modula 2, ML, Mathematica, Applescript, Ocaml
( komentarz ) Forth
/* komentarz */ C, C++, C♯, Java, JavaScript, PHP, SQL, Visual Prolog, CSS, PL/I, PL/M, Prolog
instrukcja; comment komentarz; instrukcje ... Algol 60, Simula 67
  • begin comment komentarz; instrukcje ... end;
  • end komentarz <; | end | else>
Algol 60
inne opis parametrów podprogramów nazwa_proc(par1) komentarz_2:(par2) komentarz_3:(par3) ... komentarz_n(par_n); Algol - można stosować w delkaracji i wywołaniu procedury

[edytuj] Zobacz też


SEO Tools wymiana linkami system wymiany linków wymiana linkami wymiana linkami tanie kredyty gotówkowe kreatyna Plaza 3 star hotel Los Angeles krynica noclegi Sejm Tyk