Referenční implementace

implementace specifikace, která slouží jako příklad.

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.

Reference

editovat

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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy