Referenční implementace

označení pro software, který je vzorovou a určující implementací nějaké specifikace nebo technické normy

Referenční implementace je v oboru softwarového inženýrství označení pro software, který je vzorovou a určující implementací nějaké specifikace nebo technické normy. Je vytvářena obvykle zároveň s přípravou specifikace jejími tvůrci a zároveň tak plní funkci prototypu, na kterém tvůrci testují, zda je daná specifikace proveditelná a zda její implementace může splňovat očekávané požadavky – na základě nedostatků zjištěných při práci na referenční implementaci tedy naopak může zpětně docházet k úpravám připravované specifikace.

Po dokončení a vydání specifikace pak referenční implementace slouží tvůrcům jiných implementací jako důležitá pomůcka při testování jejich implementací, které by se měly v požadovaných ohledech chovat zcela stejně. Může sloužit nejen k vytváření statických sad testů, ale například při testování komunikačních protokolů může být přímo testována komunikace mezi referenční a vytvářenou implementací.

Referenční implementace obvykle na rozdíl od implementací cílících na provozní nasazení klade vysoké důrazy na přesnost vzhledem ke specifikaci a na srozumitelnost kódu, naopak nižší důraz například na výkonnost. Někdy se ovšem stává, že referenční implementace je dostatečně výkonná a i jinak splňuje všechny požadavky provozního nasazení a je tedy dlouhodobě nejpoužívanější implementací – tak je tomu například u CPythonu, referenční a zároveň nejpoužívanější implementace interpretu programovacího jazyka Python. Případem referenční implementace, která se naopak vůbec v provozní praxi nerozšířila navzdory dlouhodobému vývoji a značnému využívání při testování specifikace, byl webový prohlížeč Amaya vytvářený konsorciem W3C při vytváření webových standardů, například specifikace HTML.

ReferenceEditovat

V tomto článku byly použity překlady textů z článků Referenzimplementierung na německé Wikipedii a Reference implementation na anglické Wikipedii.