Programowanie w języku Delphi

Komentarze

Komentarze są chyba najprostszym elementem każdego języka programowania. Jest to blok tekstu, który nie jest uwzględniany przez kompilator podczas budowania pliku wykonywalnego. W komentarzach można zawierać swoje przemyślenia oraz uwagi dotyczące kodu źródłowego:

program project;
 
begin
 { to jest komentarz }
end.


Typowy komentarz Delphi jest umieszczony pomiędzy znakami { oraz }. W edytorze kodu komentarz jest wyróżniony kursywą i kolorem zielonym (to jednak zależy od ustawień edytora kodu).

Istnieje kilka typów komentarzy, np. jednowierszowy:

// to jest komentarz jednowierszowy


Wiele osób ten rodzaj komentarzy nazywa komentarzami w stylu C, gdyż został zapożyczony z języka C. Jak sama nazwa wskazuje, komentarzem jest tylko jeden wiersz kodu źródłowego:

program project;
 
begin
 // tu jest komentarz,
 a tu już nie ma komentarza
end.


Drugi wiersz w bloku begin nie jest komentarzem ? podczas kompilacji takiego kodu Delphi wskaże błąd.

Istnieje jeszcze jeden typ komentarzy ? najrzadziej używany przez programistów:

program project;
 
begin
  (*
 
    komentowany kod
 
  *)
end.


Zaletą tego typu komentarza jest to, że może on zawierać również znaki {.

program project;
 
begin
  (*
 
    komentarz...
 
    { jakiś tekst }
 
  *)
end.


Jak widać, taki sposób pozwala na umieszczanie komentarzy w komentarzu, ale taka możliwość jest stosunkowo rzadko wykorzystywana.

Komentarze są usuwane przez kompilator w trakcie procesu kompilacji, można więc śmiało komentować kod bez obawy, iż rozmiar pliku wykonywalnego będzie przez to większy. Jako ciekawostkę można posłużyć się tu przykładem kodu źródłowego systemu Windows 2000, który zajmuje 40 GB. Może to świadczyć o dobrze udokumentowanym kodzie. Jednak po kompilacji cały system jest oczywiście mniejszy.

Umiejętne komentowanie


Wydaje się, że pisanie komentarzy jest banalną sprawą. Chciałbym jedynie zwrócić uwagę, że nawet na samym początku nauki programowania umieszczanie własnych komentarzy w kodzie programu jest bardzo ważne. Wydawać się może, że jeżeli nie udostępniamy kodu źródłowego osobom trzecim, to komentowanie kodu staje się zbędne. Nic bardziej mylnego. Po paru miesiącach czy latach programista może mieć problemy ze zrozumieniem działania swojego własnego programu.

Chcę wyrobić w początkującym programiście pewien nawyk komentowania działania programu, gdyż nabiera to szczególnego znaczenia w pracach zespołowych, gdzie kod jest czytany przez wielu programistów ? wówczas niezwykłe znaczenie ma zrozumienie kodu napisanego przez inną osobę.

Dobrym zwyczajem jest także umieszczanie na początku każdego pliku komentarza informującego o sposobie działanie danego pliku, ewentualnie jedynie praw autorskich, daty modyfikacji itp. Przykład:

(*******************************************************)
(*               Mój pierwszy program
(*    ---------------------------------------------
(*    Copyright:           (c) by Adam Boduch
(*    Data napisania:      22.11.2003
(*    Wersja:              1.0
(*
(*******************************************************)


1 komentarz

Alver1989 2016-11-24 11:57

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/