Coding med konstanter er praksisen med å bruke konstanter for å holde plassen til en abstrakt , fast variabel som ikke kan defineres av grunnleggende datatyper som boolske eller heltall . Tenk deg for eksempel at du skriver en sjakk program . Mens antall brikker på brettet kan , når som helst , være lett representert med et positivt tall , den nåværende tilstanden i styret ikke kan. Tildele tilfeldige verdier 0 , 1 og 2 for å være konstant variabler INGEN, SJEKK , og CHECKMATE ville være et klassisk tilfelle av konstant koding. Den variable holdes konstant som verdiene er rent representasjons og ikke endre gjennom hele programmet. Klarhet
Alle programmerere , gode eller dårlige , vil på et tidspunkt bli forvirret av en del av koden. Bruke konstanter kan bidra til å forhindre noen av de verste tilfellene ved å klargjøre betydningen av koden . Ingen ønsker å tilbringe timer å analysere en løkke som starter med " hvis status == 3 " bare for å finne ut hva " 3 " betyr , spesielt ikke hvis det er flere løkker innenfor som sier " hvis farge == true " og " , hvis chessPiece == 5 " ! Klarhet er spesielt viktig for lange prosjekter , som det kan være vanskelig å huske selv koden du skrev selv noen ganger .
Convenience
erklære konstanter forhånd har en tendens til å være mer praktisk i det lange løp , spesielt hvis det er mange av dem . Tenk deg at du finner ut at en eller flere av dine konstanter kolliderer med hverandre og må endres . Gå gjennom og endre hver bruk av " 2 " til " 3 " er slitsom og kan føre til flere feil ( dette kalles kode gruvedrift ) , men å endre en enkelt erklæring av " int konst CHECKMATE = 2 " til " int const CHECKMATE = 3 " er enkel og lett .
Feilkontroll
den største fordelen med konstant koding er at mange feil vil bli fanget opp av kompilatoren i stedet skaper kaos under kjøring . Viktigst , hindrer konstant typesjekking fremtidige programmerere fra å komme sammen og tildele nye verdier til variabler som ikke skal endres. Små feil, som skrivefeil , har også en tendens til å være mindre av et hodepine . (Det er ganske vanskelig å tilfeldigvis skriv " CHECK" i stedet for " INGEN" ! )
Resultatutvikling
Bruke konstanter der det er aktuelt kan også hjelpe din kode kan kjøres raskere, selv om dette i stor grad avhenger av den spesifikke kompilatoren og språket som brukes . Hvis en konstant behandles som en fast verdi i stedet for en variabel, for eksempel, kan kompilatoren inn færre instruksjoner under kjøring. I noen tilfeller er konstanter vil bli lagret i hukommelsen hurtigere lasting . Vanligvis imidlertid ytelsesforbedringer fra konstanter er minimal og vil ikke gjøre mye av en forskjell.