Kommentár (számítógép)

A megjegyzések a számítógépes programozásban vannak, a forráskód részei, amelyeket a fordító vagy tolmács figyelmen kívül hagy , általában emberi olvasónak szánják, és nem a program végrehajtását akarják befolyásolni.

A megjegyzéseket leggyakrabban a kód magyarázatára használják; néhány eszköz, úgynevezett dokumentációs generátorok , lehetővé teszik a megjegyzésekben elérhető információk kinyerését a programdokumentáció automatikus létrehozásához .

Néha megjegyzést használunk egy kódrész rövid ideig tartó rövidzárlatára, de megadjuk a korlátozásokat vagy tulajdonságokat is, különös tekintettel az előfeltételekre, az utófeltételekre és az invariánsokra, amint az a szerződéses programozás során történik .

Megjegyzések típusai

A megjegyzések és a kód többi részének megkülönböztetésének módjai a használt nyelvtől függően változnak. Három fő kategória létezik, mindegyik nyelv többféle megjegyzés-kategóriát is megvalósíthat:

Teljes sorú megjegyzések

A teljes sort tartalmazó megjegyzés azzal kezdődik, hogy egy jelölő meghirdeti a megjegyzések sorát (vagy ha nincs olyan kód, amely a kódsorot közli). A BASIC , a Fortran és a Cobol olyan nyelvek, amelyek beépített megjegyzéseket használnak. A kód természetesen folytatódik a következő sorban.

REM commentaire000010*COMMENTAIRE (a csillag kell lennie a 7 th  elhelyezkedés a vonal) C      commentaire (pontosan 6 szóköz a karakter Cés a megjegyzés között  ; Cfeltétlenül a sor első karakterének kell lennie) rem commentaire // commentaire ' commentaire rem commentaire

Sor végi megjegyzések

A sor végi megjegyzés egy jelölővel kezdődik, amely bejelenti a megjegyzés kezdetét, és automatikusan a sor végén fejeződik be, anélkül, hogy végjelzőre lenne szükség. A C ++ és a Java nyelv ilyen típusú megjegyzéseket használ.

--commentaire⍝(symbole "lampe". Attention, c'est de l'Unicode); commentaire REM commentaire(a ":" után QBasic-ban ) ' commentaire // commentaire$! commentaire! commentaire--commentaire #commentaire # commentaire #  commentaire // commentaire R:commentaire (megrendelés levél azonnal el lehet kezdeni a megjegyzés után, ugyanabban a sorban) % commentaire@c commentaire @comment commentaire ' commentaire' commentaire // commentaire -- commentaire

Tömeges megjegyzések

A tömeges megjegyzés a megjegyzés kezdetét jelző markerrel kezdődik, és a végét jelző jelölővel végződik. Legfőbb előnyük, hogy több sort is megjegyezhetünk anélkül, hogy mindegyiket szerkesztenénk. A Pascal és a C nyelv ilyen típusú megjegyzéseket használ.

comment commentaire;(* commentaire *)/* commentaire */(commentaire) /* commentaire */ /+ commentaire +/ (* commentaire *) {  commentaire  } {- commentaire -}<!-- commentaire -->

A Pythonnak önmagában nincs tömeges megjegyzése, de az önálló utasítást alkotó karakterláncok játszhatják ezt a szerepet, esetleg docstringként szolgálhatnak: vagy""" commentaire """''' commentaire '''

/* commentaire */<!-- commentaire -->--[[ commentaire ]]

A fájl megjegyzéseinek vége

A fájlvégi megjegyzés azzal kezdődik, hogy egy jelölő kijelenti, hogy mindent, ami utána következik, a fájl végéig, megjegyzésnek kell tekinteni. Az ATS egy példa az ilyen típusú megjegyzéseket használó nyelvre.

//// commentaireVezérlő karakterrel: ^ Z

Megjegyzések használata

Dokumentáció

Olyan eszközök, mint Doxygen , Javadoc vagy RDoc lehetővé teszik, hogy az észrevételek szerkesztéséhez mutassa be a kódot, és hozzon létre egy teljes dokumentációt. Ez leginkább egy programozónak szól, aki könyvtárral szeretne fejlődni, de nagyon is lehetséges ezt a módszert használni a végfelhasználó dokumentációinak megírásához.

/** * Registers the text to display in a tool tip. The text * displays when the cursor lingers over the component. * * @param text the string to display. If the text is null, * the tool tip is turned off for this component. */ public void setToolTipText(String text) {

( a Sun Microsystems Javadoc dokumentációjának kivonata  ; a megjegyzés a javadoc processzor számára érthető formátumban van)

Kód deaktiválás

A megjegyzéseket gyakran használják a kódrészek gyors elrejtésére a fordító vagy tolmács elől , például alternatív megvalósítások tesztelésére vagy a funkcionalitás ideiglenes letiltására.

Ezt a deaktiválást akkor lehet a legkönnyebben végrehajtani, ha a nyelv lehetővé teszi a blokkoló megjegyzéseket. Abban az esetben azonban, ha a rejtendő kódrész már tartalmaz megjegyzéseket, a nyelv szintaxisa nem mindig teszi lehetővé ezeknek a megjegyzéseknek a beágyazását. Néhány nyelv magasabb szintű megjegyzéseket nyújt ennek kompenzálására:

  • C / C ++ előfeldolgozó :
#if 0   code; //commentaire   encore du code; /* commentaire */ #endif <![IGNORE[   <code> <!-- commentaire --> </code> ]]> Könnyű (nem) megjegyezhető kódtipp /*/* Mon code //*/

A hozzászóláshoz egyszerűen távolítsa el az 1. st * -t

Példák

VS

(kivonat fork.ca Linux kernelfájlból )

/* * Check if we are over our maximum process limit, but be sure to * exclude root. This is needed to make it possible for login and * friends to set the per-user process limit to something lower * than the amount of processes root is running. -- Rik */ if (atomic_read(&p->user->processes) >= p->rlim[RLIMIT_NPROC].rlim_cur && !capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE)) goto bad_fork_free;

Perl

( perlbug.PLa standard Perl- eloszlásból származik )

# a strange way to check whether any significant editing # have been done: check whether any new non-empty lines # have been added. Yes, the below code ignores *any* space # in *any* line. while (<REP>) { s/\s+//g; $unseen++ if $_ ne '' and not exists $REP{$_}; }

PHP

(a MediaWikiből , a Wikipedia által használt szoftverből származik)

/* * Scan forwards to find beginning of another run of changes. * Also keep track of the corresponding point in the other file. * * Throughout this code, $i and $j are adjusted together so that * the first $i elements of $changed and the first $j elements * of $other_changed both contain the same number of zeros * (unchanged lines). * Furthermore, $j is always kept so that $j == $other_len or * $other_changed[$j] == false. */ while ($j < $other_len && $other_changed[$j]) $j++;

Megjegyzések és hivatkozások

  1. (en) PEP 8 ..
  2. (en) PEP257 .
  3. (en) http://wiki.tcl.tk/8369 .