Feat(NSI): cours sur la documentation et les tests
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
d433f7223e
commit
7096d62562
Binary file not shown.
@ -25,7 +25,7 @@ Programmer c'est écrire du code pour que la machine le comprenne mais aussi et
|
|||||||
\begin{minipage}{0.5\linewidth}
|
\begin{minipage}{0.5\linewidth}
|
||||||
\begin{minted}[bgcolor=base3,linenos]{python}
|
\begin{minted}[bgcolor=base3,linenos]{python}
|
||||||
def nom_de_la_fonction(argument1, argument2, ...):
|
def nom_de_la_fonction(argument1, argument2, ...):
|
||||||
""" Docstring """
|
""" Explication du fonctionnement de la fonction """
|
||||||
instruction 1
|
instruction 1
|
||||||
instruction 2
|
instruction 2
|
||||||
instruction 3
|
instruction 3
|
||||||
@ -47,13 +47,47 @@ Return the square root of x.
|
|||||||
\end{center}
|
\end{center}
|
||||||
\end{definition}
|
\end{definition}
|
||||||
|
|
||||||
\section{Spécifier}
|
|
||||||
|
|
||||||
z
|
|
||||||
|
|
||||||
|
|
||||||
\section{Tester}
|
\section{Tester}
|
||||||
|
|
||||||
Écrire une fonction qui marche c'est bien mais écrire une fonction qui fait ce qu'on attend d'elle c'est mieux.
|
Écrire une fonction qui marche c'est bien mais écrire une fonction qui fait ce qu'on attend d'elle c'est mieux. Pour s'assurer qu'une fonction a comportement attendu, il faut écrire des \textbf{tests} en utilisant le mot clé \mintinline{python}{assert}.
|
||||||
Pour cela,
|
\begin{center}
|
||||||
|
\begin{minipage}{0.5\linewidth}
|
||||||
|
\begin{minted}[bgcolor=base3,linenos]{python}
|
||||||
|
assert condition
|
||||||
|
\end{minted}
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
Si la condition est vérifiée rien ne se passera. Par contre, si elle est fausse, une erreur sera remontée.
|
||||||
|
|
||||||
|
|
||||||
|
\paragraph{Exemple}
|
||||||
|
\begin{center}
|
||||||
|
\begin{minipage}{0.5\linewidth}
|
||||||
|
\begin{minted}[bgcolor=base3,linenos]{python}
|
||||||
|
def mention(note):
|
||||||
|
""" Renvoie la mention qui correspond à la note"""
|
||||||
|
if note >= 16:
|
||||||
|
return "TB"
|
||||||
|
elif note >= 14:
|
||||||
|
return "B"
|
||||||
|
elif note >= 12:
|
||||||
|
return "AB"
|
||||||
|
elif note >= 9:
|
||||||
|
return "A"
|
||||||
|
else:
|
||||||
|
return "R"
|
||||||
|
|
||||||
|
assert mention(13) == "AB"
|
||||||
|
assert mention(18) == "TB"
|
||||||
|
assert mention(9.5) == "R"
|
||||||
|
\end{minted}
|
||||||
|
\end{minipage}
|
||||||
|
\end{center}
|
||||||
|
Les deux premiers tests passent. Par contre, le dernier rate car nous avons fait une erreur dans la programmation de la fonction.
|
||||||
|
|
||||||
|
\paragraph{Remarques:} Écrire les tests avant de coder la fonction est considéré comme une bonne pratique.
|
||||||
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
Loading…
Reference in New Issue
Block a user