Állandó vs. literál

A szoftverprogramozók különféle adattípusokat használnak a kódjukban.

A szó szerinti egy olyan érték, amelyet önmagában fejeznek ki. Például a 25. szám vagy a „Hello World” karakterlánc mindkettõ literál.

A állandó egy adattípus, amely helyettesíti a literált. Az állandók hasznosak olyan helyzetekben, ahol

  • egy speciális, változatlan értéket kell használni a szoftverprogram során különböző időpontokban
  • könnyebben megérti a szoftver kódját

A program egyik változója megváltoztathatja értékét a program végrehajtása során. A konstans megtartja ugyanazt az értéket a program során.

ÁllandóSzó szerintiPélda const PI = 3,14; var sugara = 5; var kerület = 2 * PI * sugár; var sugara = 5; var kerület = 2 * 3,14 * sugár;

Állandó vagy szó szerinti adattípus - példa

Tegyük fel, hogy programot írunk annak meghatározására, hogy a népesség mely tagjai jogosultak szavazni, inni, mindkettőre, vagy sem.

const DRINKING_AGE = 21; const VOTING_AGE = 18; 

18 és 21 literálisak. Használhatjuk ezeket literálok a programunk minden területén. Például, if (18 éves kor felett) vagy if (életkor < 21). De a kódot érthetőbbé tehetjük, ha használjuk állandók helyette. if (életkor> VOTING_AGE) könnyebben érthető. Az állandók használatának további előnyei vannak

  • Az állandók megszabadítják a programozót attól, hogy emlékezzen az egyes betűknek. Az értékek, amelyek állandóak maradnak a program során, gyakran üzleti jelentéssel bírnak. Ha több ilyen érték létezik, akkor a programozó meghatározhatja azokat a program elején, majd a könnyebben megjegyezhető állandó nevekkel dolgozhat..
  • Ha az üzleti követelmények előírják az állandó megváltoztatását (például ha az alkoholfogyasztási korot a jövőben 20-ra csökkentik), akkor a programot sokkal könnyebben lehet adaptálni. Ha a program egészében literálokat használunk, akkor a változtatást nehéz végrehajtani, és nagy esély van arra, hogy néhány példányt nem javítanak.

Irodalom

  • wikipedia: Literal (számítógépes programozás)
  • wikipedia: Constant (számítógépes programozás)