Referenčna preglednost

Referenčna preglednost je značilnost delov računalniških programov. Del programa imenujemo "referenčno pregleden", če ga lahko nadomestimo z vrednostjo, ki jo vrača, ne da bi spremenili obnašanje programa. Referenčno pregledna funkcija mora biti čista - vedno mora dati enak izhod, če sprejme enak vhod, in ne sme imeti stranskih učinkov - delov programa, ki izvajajo drugo dejanje kot vračanje vrednosti. Nasprotje referenčne preglednosti je referenčna nepreglednost.

V matematiki so vse funkcije referenčno pregledne, saj lahko matematična funkcija samo sprejme vrednost in izloči vrednost. Pri programiranju to ne velja vedno - funkcija lahko tudi ugotovi, kateri dan v letu je, ali na zaslon izpiše sporočilo. Zaradi te razlike nekateri za funkcije v programiranju uporabljajo drugačna imena, kot so postopki.

Referenčna preglednost omogoča programerjem in prevajalnikom, da kodo obravnavajo kot sistem za prepisovanje - kot nekaj, kar prevzame izraz in ga nadomesti z nečim drugim. To lahko pomaga pri več nalogah, kot so:

  • Dokazovanje, da je program ali koda pravilna - da ne glede na vse počne točno to, kar mora.
  • Poenostavitev algoritma.
  • Lažje je spreminjati kodo in hkrati biti prepričan, da deluje, kot bi morala.
  • Hitrejše izvajanje kode ali izvajanje kode na način, ki porablja manj pomnilnika.

Obstaja več načinov opravljanja zadnje naloge - najbolj znani so memoizacija (shranjevanje odgovorov po prvem poskusu), odprava skupnih podizrazov (ugotavljanje, ali je vredno združiti dva dela kode, ki sta enaka), leno vrednotenje (iskanje odgovora šele, ko ga koda resnično potrebuje) in vzporejanje (delo na več problemih hkrati).

Vprašanja in odgovori

V: Kaj je referenčna preglednost?


O: Referenčna preglednost je lastnost delov računalniških programov, pri kateri lahko del programa zamenjamo z vrednostjo, ki jo vrača, ne da bi spremenili obnašanje programa.

V: Kaj je nasprotje referenčne preglednosti?


O: Nasprotje referenčne preglednosti je referenčna nepreglednost.

V: Ali so vse funkcije v matematiki referenčno pregledne?


O: Da, vse funkcije v matematiki so referenčno pregledne, saj lahko matematična funkcija samo sprejme vrednost in izpljune vrednost.

V: Kako referenčna preglednost pomaga programerjem in prevajalnikom?


O: Referenčna preglednost omogoča programerjem in sestavljavcem, da o kodi razmišljajo kot o sistemu za prepisovanje - nečem, kar vzame izraz in ga nadomesti z nečim drugim. To pomaga pri nalogah, kot so dokazovanje pravilnosti programa ali kode, poenostavitev algoritma, lažje spreminjanje kode, pri čemer smo še vedno prepričani, da dela to, kar mora, in hitrejše delovanje kode ali manjša poraba pomnilnika.

V: Katere tehnike se uporabljajo za hitrejše delovanje kode ali manjšo porabo pomnilnika?


O: Nekatere tehnike, ki se uporabljajo za hitrejše delovanje kode ali manjšo porabo pomnilnika, vključujejo memoizacijo (shranjevanje odgovorov po prvem poskusu), izločanje skupnih podizrazov (ugotavljanje, ali je vredno združiti dva dela kode, ki sta enaka), leno vrednotenje (iskanje odgovora šele, ko ga koda res potrebuje) in vzporejanje (delo na več problemih hkrati).

V: Ali je kakšna razlika med funkcijami v programiranju v primerjavi s funkcijami v matematiki?


O:Da, obstaja razlika med funkcijami v programiranju in matematičnimi funkcijami - V programiranju lahko funkcija tudi ugotovi, kateri dan v letu je, ali izpiše sporočilo na zaslon, medtem ko pri matematičnih funkcijah to ni mogoče.

AlegsaOnline.com - 2020 / 2023 - License CC3