Le compilo ne détecte rien du tout, ni l'ordre des paramètres ni leur cohérence. On se retrouve exactement dans le même cas qu'avec tes canards.
Si on veut être prudent on va dire
date_de_naissance(jour, mois, annee)
date_de_naissance(jour=4, mois=3, annee=1950)
L'interpréteur ne va rien vérifier du tout mais on a beaucoup moins de chance de se tromper.
Le compilateur va trouver certaines fautes, c'est incontestable, mais si c'est au détriment d'un code beaucoup plus lourd le gain est annulé et même inversé. Du moins c'est ce que j'ai constaté en passant de Java à Python par ex.
[^] # Re: Le titre est trop long
Posté par wilk (site web personnel, Mastodon) . En réponse au journal Typage statique versus typage dynamique. Évalué à 7.
def date_de_naissance(int, int, int)
date_de_naissance(2010, 9, 14)
date_de_naissance(9, 10, 3923)
Le compilo ne détecte rien du tout, ni l'ordre des paramètres ni leur cohérence. On se retrouve exactement dans le même cas qu'avec tes canards.
Si on veut être prudent on va dire
date_de_naissance(jour, mois, annee)
date_de_naissance(jour=4, mois=3, annee=1950)
L'interpréteur ne va rien vérifier du tout mais on a beaucoup moins de chance de se tromper.
Le compilateur va trouver certaines fautes, c'est incontestable, mais si c'est au détriment d'un code beaucoup plus lourd le gain est annulé et même inversé. Du moins c'est ce que j'ai constaté en passant de Java à Python par ex.