# Ohar (programazioa)

Programazio informatikoan, ohar edo iruzkin bat programak programa informatiko baten iturburu-kodean irakur dezakeen azalpen edo ohar bat da. Gizakientzako iturburu-kodea errazago ulertzeko eransten dira, eta, normalean, konpilatzaileek eta interpreteek enoratu egiten dituzte, ez-ikusiarena egiten dute ohar horiekin. Programazio-lengoaiaren arabera iruzkinak markatzeko moduak asko aldatzen dira.
Iruzkinak, halaber, zenbait modutan prozesatzen dira, batzuetan, iturburu-kodetik kanpoko dokumentazioa sortzeko, dokumentazio-sortzaileen bidez, edo iturburu-kodeak kudeatzeko sistemekin eta programazioko beste tresna batzuekin integratzeko ere erabiltzen dira.
Iruzkinek eskaintzen duten malgutasunak aldagarritasun-maila handia ahalbidetzen du, baina hori erabiltzeko konbentzio formalak programazio-estiloaren gidetan sartzen dira.

## Adibideak

Iruzkinak zehazteko konbentzio tipografikoak asko aldatzen dira programazio legoaiatan.

#### Ada

Ada programazio-lengoaiak '--' erabiltzen du lerroaren amaierara arteko iruzkin bat adierazteko.
Adibidez:

#### BASIC

Hasierako BASIC kode-zati klasiko honetan, REM gako-hitza ("Remark") oharrak gehitzeko erabiltzen zen.

#### C

C kodearen zati honek atariko iruzkin bat edo "bloke-iruzkin" bat erabiltzen du baldintzapeko adierazpen baten xedea deskribatzeko. Iruzkinak termino eta kontzeptu nagusiak azaltzen ditu, eta kodea idatzi zuen programatzailearen sinadura labur bat ere badu.

#### Haskell

Haskellen lerro-iruzkinak (erdiko bi marrekin ('--') hasten dira lerroaren amaierara arte, eta lerro anizkoitzen iruzkinak '{-' karaktere bikotearekin hasten dira, eta '-}'-ekin amaitzen dira.
Haskellek programazio alfabetatuzko metodo bat ere eskaintzen du iruzkintzeko, "txori-estiloa" izenekoa. Kasu horretan, '>'-rekin hasten diren lerro guztiak kode gisa interpretatzen dira; gainerakoak iruzkintzat hartzen dira. Beste baldintza bat da lerro bat beti zuri uztea kode-blokearen aurretik eta ondoren:
Programazio alfabetatua Haskell-en ere egin daiteke, LaTeX erabiliz. Kode-ingurunea Richard Bird-en estiloaren ordez erabil daiteke: LaTeX estiloan hori aurreko adibidearen baliokidea da, kodearen ingurunea LaTeX-en hitzaurrean defini liteke. Hemen definizio sinple bat dago:
geroago

#### Java

Java kodearen zati honek setToolTipText metodoa deskribatzeko erabilitako bloke-iruzkin bat erakusten du. Formatua bat dator Sun Microsystems Javadoc-en estandarrekin. Javadoc prozesadoreak irakurria izateko diseinatuta dago iruzkina.

#### Pascal

Niklaus Wirthen lengoaia-familian (Modula-2 eta Oberon barne), iruzkinak '(*' karaktere-bikotearekin irekitzen dira eta '*)' bikotearekin bukatu.
adibidez:
Pascalen dialekto modernoetan, aldiz, '{' eta '}' karaktereak erabiltzen dira.

#### Perl

Perl-ez eta scripting-eko beste lengoaia askotan lerroko iruzkinak hash ikurrarekin (#) hasten dira.

#### R

R lengoaian hash karakterearekin (#) hasten diren lerroko iruzkinak bakarrik onartzen ditu.

#### PHP

PHPko iruzkinak C++ estilokoak izan daitezke (linean nahiz blokean), edo hash-ak erabil daitezke. Javadoc-etik egokitutako estiloa da PHPDoc, eta PHP kodea dokumentatzeko estandar komuna da.

#### Python

Python lengoaian lerroko iruzkinek hash (#) karakterea erabiltzen dute, kode honen bi adibideetan bezala:
Artikulu honetan definitu den bezala, iruzkin multzokatuak ez daude teknikoki Python-en. Komatxoak karakterea hiru aldiz idatzita (""") erabil daiteke horretarako, baina interpreteak ez du enoratuko, "#" iruzkinetan bezala bezala. Hurrengo adibideetan, aipatutako karaktere hirukoitzak iruzkin gisa erabiltzen dira, baina docstrings gisa ere erabiltzen dira:

#### XML (edo HTML)

XML (edo HTML)-ko iruzkinak honela sartzen dira:
eta zenbait lerrotan heda daitezke bukaerako karaktere hauetaraino:
Adibidez:
SGMLrekin bateragarria izateko, "--" (gidoi bikoitza) katea ez da onartzen iruzkinen barruan.

## Segurtasun-arazoak

Interpretatutako lengoaiatan iruzkinak ikusgai daude programaren azken erabiltzailearentzat. Kasu batzuetan, hala nola "iruzkintzen" diren kode-sekzioetan, horrek segurtasun-zaurgarritasuna ekar dezake.

## Erreferentziak

* ↑ «Literate programming» haskell.org.
* ↑ «Comments» www.freepascal.org.
* 1 2 Python 3 Basic Syntax. .
* ↑ "Python tip: You can use multi-line strings as multi-line comments", 11 September 2011, Guido van Rossum

## Ikus, gainera

* Docstring, programa gauzatzen den bitartean banatu eta atxikitzen den iruzkin-mota espezifikoa.
* Shebang, #!-ren erabilera X motako sistemei buruzko script-etan interpreteen zuzendari gisa
* HTML iruzkin-etiketa
* Programazio alfabetatua, dokumentazio alternatiboaren paradigma
* Zenbait programazio-hizkuntzatan egindako iruzkinen sintaxia

## Bibliografia

* Movshovitz-Attias, Dana and Cohen, William W. (2013) Natural Language Models for Predicting Programming Comments. In Association for Computational Linguistics (ACL), 2013.

## Kanpo estekak

* How to Write Comments Denis Krukovsky
* Source Code Documentation as a Live User Manual PTLogica
* How to Write Comments for the Javadoc Tool
* Datuak: Q1141067