Kommentit (ohjelmointi)

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 3. elokuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Kommentit  - ohjelman lähdekoodin selitykset , jotka sijaitsevat suoraan kommentoitavan koodin sisällä. Ohjelmointikielen määrittelee kommenttien syntaksi . Kääntäjän tai tulkin näkökulmasta kommentit ovat osa ohjelman tekstiä, joka ei vaikuta sen semantiikkaan. Kommenteilla ei ole vaikutusta ohjelman käännöstulokseen tai sen tulkintaan. Ohjelman lähdekoodin lisäksi kommentteja käytetään myös sivunkuvauskielissä ja kuvauskielissä .

Kommenttien tarkoitus

Useimmat asiantuntijat ovat samaa mieltä siitä, että kommenttien tulee selittää ohjelmoijan tarkoitus , ei koodia; sitä, mitä ohjelmointikielellä voidaan ilmaista, ei pidä kommentoida - etenkin muuttujille, funktioille, luokille, menetelmille ja muille entiteeteille tulee käyttää merkityksellisiä nimiä (ks. Nimeämiskäytännöt ), jakaa ohjelma helposti ymmärrettäviin osiin, pyrkiä tekemään luokkarakenteesta ja tietokantarakenteesta mahdollisimman ymmärrettävä ja läpinäkyvä jne. On jopa mielipide (se on noudatettu äärimmäisissä ohjelmointimenetelmissä ja joissakin muissa joustavissa ohjelmointimenetelmissä ), että jos ohjelman ymmärtämiseen tarvitaan kommentteja, se tarkoittaa, että se on huonosti kirjoitettu.

Lukutaitoisen ohjelmoinnin käsite vaatii niin yksityiskohtaisten ja harkittujen kommenttien sisällyttämistä ohjelman tekstiin, että siitä tulee lähdeteksti paitsi suoritettavalle koodille myös mukana tulevalle dokumentaatiolle .

Kommentteja käytetään usein poistamaan koodinpätkä tilapäisesti käytöstä. C : ssä ja C++ :ssa jotkut[ kuka? ] suosittelee käyttämään esikäsittelyohjeita ( #if 0... #endif) samaan tarkoitukseen.

Yksiriviset ja moniriviset kommentit

Syntaksisesti kommentteja on kahdenlaisia. Monirivinen kommentti voi olla minkä pituinen tahansa, ja se on merkitty erikoismerkeillä alussa ja lopussa (esimerkiksi /* */). Jotkut kielet sallivat monirivisten kommenttien sisäkkäisyyden, toiset eivät.

Yksirivinen kommentti merkitään erikoismerkillä alkuun (esim //. ) ja jatkuu rivin loppuun. Normaalisti yksiriviset kommentit voidaan upottaa muiden, yksi- tai monirivisten kommenttien sisään. Tallennusmenetelmät voidaan lomittaa, semantiikan näkökulmasta ne ovat samat.

Annotations

Toisen tyyppisiä kommentteja - huomautuksia  - käytetään ohjelmien oikeellisuuden todisteluissa. Tällaiset kommentit kuvaavat tietokoneen tilaa, kun ohjelma saavuttaa suorituksen aikana pisteen, jossa kommentti sijaitsee. Annotoitua ohjelmaa kutsutaan annotoiduksi ohjelmaksi .

Automaattinen dokumentaation luominen

Erityisesti muotoiltuja kommentteja (ns. dokumentaatiokommentteja ) käytetään dokumentaation luomiseen automaattisesti , ensisijaisesti funktio- tai luokkakirjastoille . Tätä varten käytetään dokumentaatiogeneraattoreita , kuten javadoc [1] Java-kielelle , phpDocumentor PHP [2] , doxygen [3] C- ja C++ - kielelle jne .

Dokumentaatiokommentit muotoillaan yleensä monirivisiksi C -tyylisiksi kommenteiksi . Kussakin tapauksessa kommentin on tultava ennen dokumentoitua elementtiä. Kommentin ensimmäisen merkin (ja kommenttirivien alussa) on oltava *. Lohkot erotetaan tyhjillä viivoilla.

Esimerkki dokumentaatiokommentista

/** * Objektin nimi tai lyhyt kuvaus * * Laajennettu kuvaus * * @descriptor_name value * @return data_type */

Joissakin ohjelmointiympäristöissä (esim. Eclipse , NetBeans , Python , Visual Studio ) doc-kommentteja käytetään interaktiivisena vihjeenä luokkien ja funktioiden käyttöliittymään.

Lähetysohjelmat

Käännöksen aikana kommentit tunnistetaan leksikaalisessa analyysivaiheessa (ja näin ollen niitä pidetään merkkinä ). Tunnistaminen esikäsittelyvaiheessa on kallista ja jopa täynnä virheitä; kommenttien sisällyttäminen syntaksikaavioihin on lähes mahdotonta.

Eri kielillä ja ohjelmointiympäristöissä

  • 1C //yhden rivin kommentti
  • Ada
--yhden rivin kommentti ;yhden rivin kommentti COMMENT + …Monirivinen kommentti. +Tällä merkillä oleva rivi päättää kommentin, plusmerkin sijaan voi olla toinen merkki. 'yksirivinen kommentti > - ei tueta kaikissa murteissa REMyhden rivin kommentti
  • BLITZ Plus
;yhden rivin kommentti REMyhden rivin kommentti ::yhden rivin kommentti #yhden rivin kommentti /*monirivinen kommentti*/ //yhden rivin kommentti #yksirivinen kommentti (PHP:lle) Tapa kommentoida suuria koodipaloja C/C++:ssa. Sitä ei käytetä kommenttien kirjoittamiseen ohjelmaan, vaan osan toiminnallisuuden väliaikaiseen piilottamiseen (mahdotonta Javassa ja JavaScriptissä): #if 0 …кусок кода… #endif * (на седьмой позиции)  - yksirivinen kommentti (* многострочный комментарий *) { многострочный комментарий } //yhden rivin kommentti \tavallinen yksirivinen kommentti ( Комментарий до закрывающей скобки. Может быть многострочным (зависит от реализации). Пробел после открывающей скобки обязателен.) c однострочный комментарий (в старых версиях Фортрана после латинской c должно идти 5 пробелов) ! однострочный комментарий <!-- многострочный комментарий -->
  • Asetustiedostot ( ini ) .
;käyttämätön avain tai muu kommentti
  • Windowsin rekisteritiedostot ( .REG ) .
;käyttämätön avain tai muu kommentti (* многострочный комментарий *) # однострочный комментарий (* многострочный комментарий *) { многострочный комментарий } #yhden rivin kommentti =pod
monirivisen kommentin analogi, jota käytetään dokumenttien kirjoittamiseen
=cut #yhden rivin kommentti <#monirivinen kommentti#> #yhden rivin kommentti
  • PL/SQL
--yhden rivin kommentti /* многострочный комментарий */ =begin monirivinen kommentti =end #yhden rivin kommentti "многострочный комментарий" %yhden rivin kommentti 'yhden rivin kommentti Remyhden rivin kommentti -- однострочный комментарий --[[многострочный комментарий]] --[[многострочный комментарий]]--

Erikoiskommentit

Kääntäjän tulee jättää kommentit huomioimatta, mutta käytännössä näin ei aina ole. Jotkut kääntäjälle annettavat erikoiskomennot, jotka ovat suuresti riippuvaisia ​​ohjelmointikielen toteutuksesta, muotoillaan usein kommentteina.

Esimerkiksi Turbo Pascalin murreessa pragmat {$I-}ja {$I+}käytetään estämään ja ottamaan käyttöön standardi I/O-virheentarkistus. Samanlaisia ​​erikoiskommentteja käytetään HTML - kuvauskielessä osoittamaan SGML - asiakirjan tyyppi, "pakottavat" tyylisivut ja komentosarjat JavaScriptissä ja VBScriptissä :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//FI" "http://www.w3.org/TR/REC-html40/strict.dtd">< TYYPPI = " text /css" > <! -- tyylien kuvaus -- > </ STYLE > < SCRIPT TYPE = "text/javascript" > <!-- piilota skriptisisältö vanhemmista selaimista JavaScript-komentokoodi // piilotetun sisällön loppu -- > < / SCRIPT >

Jotkut ohjelmoijat käyttävät kommentteja työssään. Tällaiset kommentit ovat erityisen hyödyllisiä, kun useat kehittäjät työskentelevät saman koodin parissa. Esimerkiksi TODO-kommenttia käytetään yleensä merkitsemään koodin osa, jonka ohjelmoija jättää keskeneräiseksi palatakseen siihen myöhemmin. FIXME-kommentti ilmoittaa virheestä, joka on löydetty ja joka päätetään korjata myöhemmin. Kommentti XXX tarkoittaa löydettyä kriittistä virhettä, jonka korjaamista ei voida jatkaa.

Muistiinpanot

  1. http://java.sun.com/j2se/javadoc . Haettu 5. huhtikuuta 2005. Arkistoitu alkuperäisestä 6. huhtikuuta 2005.
  2. http://phpdoc.org . Haettu 15. huhtikuuta 2022. Arkistoitu alkuperäisestä 12. helmikuuta 2009.
  3. http://doxygen.org . Haettu 15. huhtikuuta 2022. Arkistoitu alkuperäisestä 30. syyskuuta 2011.

Katso myös