Jump to content

Extension:WikiLambda/Approbation des implémentations et des testeurs

From mediawiki.org
This page is a translated version of the page Extension:WikiLambda/Approving Implementations and Testers and the translation is 100% complete.
Les pages des fonctions ont un lien vers cette page

Chaque contributeur d'une installation WikiLambda telle que Wikifunctions, peut créer une nouvelle implémentation ou un nouveau testeur pour une fonction. Les implémentations et les testeurs ont chacuns leurs propres pages wiki. Néanmoins ces deux types doivent être approuvés par une personne qui a les droits utilisateur appropriés avant qu'ils ne puissent être utilisés par les objets auxquels ils sont connectés, ceci afin de rendre plus difficiles les attaques de vandalisme.

Les testeurs et les implémentations ne doivent être approuvés que s'ils sont conformes aux sémantiques des fonctions qu'ils testent ou implémentent. C'est une sorte de relecture de code.

Les testeurs et les implémentations peuvent être désactivés à nouveau par les utilisateurs qui ont les mêmes droits, dans le cas où il serait avéré qu'ils avaient tord. Ceci doit être la seule raison de les désactiver. Pour tout autre raison Wikifunctions doit négocier fermement. (Mais plus tôt dans le projet, il y a pu y avoir des cas où ceci n'était pas vrai. Ces cas doivent être déclarés comme bogue et gérés manuellement jusqu'à ce qu'il soient résolus.)

FAQ

Quelles sont les conséquences d'une implémentation qui a été approuvée même quand elle était fausse ?
Les appels de fonctions à ces fonctions peuvent renvoyer des résultats incorrects. En outre, les différentes implémentations d'une fonction doivent toutes être en accord entre elles. Une implémentation qui ne le serait pas peut amener la confusion. Si deux implémentations différentes de la même fonction donnent des résultats différents, c'est une preuve évidente que l'une ou l'autre est fausse. Eventuellement le système peut dégrader des implémentations qui contreviennent avec d'autres implémentations. Ceci n'est pas encore implémenté.
Quelles sont les conséquences d'un testeur qui a été approuvé même quand il était faux ?
Les implémentations qui échouent pour les testeurs donnés sont dégradées et sont moins sensées être appelées. Ceci peut retirer de l'exécution une implémentation tout à fait correcte et réduire les performances du système ou conduire à des résultats faux. Ceci n'est pas encore implémenté.