Forskel mellem versioner af "Subrutine"

6 bytes tilføjet ,  for 8 måneder siden
m
Retter flertydige links til Makro (link ændret til Macro) med DisamAssist.
m (Retter flertydige links til Makro (link ændret til Macro) med DisamAssist.)
Man kan også udtrykke det således, at en funktion evalueres til en værdi, mens en procedure er en ny kommando. I begge tilfælde er der tale om en abstraktion, idet den der benytter et kald af en subrutine ikke behøver kende detaljerne i subrutinens kode. Og denne kode kan ændres, uden at det ødelægger noget for resten af systemet. Det er dog her en fornuftig regel, at en funktion ikke bør have sideeffekter (effekter for andre dele af systemet end den værdi der returneres). For en procedure bør data ind og ud kun ske via parameterlisten, så man kan se, hvad der røres ved. Ingen benyttelse af fælles, globale variable.
 
I nogle tilfælde vil man for at få en hurtige afvikling af programmet undgå kaldet, der altid medfører et ekstraarbejde (''overhead''), men i stedet gentage instruktionerne, der udgør kroppen på subrutine, i det færdige program. Dette kan foregå ved brug af en [[Macro|makro]] eller overlades til oversætteren.
 
== Implementering ==
20.341

redigeringer