Bonjour,
Il semble y avoir un sorte de consensus global (beaucoup d'experts de beaucoup de langages différents) sur le fait qu'il serait préférable d'utiliser le mot clef "auto" (ou équivalent dans les autres langages) plutôt que de typer directement "à l'ancienne".
Je comprend tout à fait l'utilité dans certains cas, notamment quand les noms de types deviennent extrêmement longs à cause des templates par exemple.
Cependant je reste frileux sur le sujet. J'ai la conviction que l'utilisation systématique de cette fonctionnalité entraine des situations où un refactoring changera la sémantique sans que ça ne provoque d'erreur de compilation. Et cette situation me déplait fortement.
Exemple :
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
int getLastDocumentCode() { return 12; }
 
void saveDocument()
{
    auto lastDocumentCode = getLastDocumentCode();
    lastDocumentCode = lastDocumentCode + 1;
    auto documentId = "DC"s + lastDocumentCode;
}

Dans ce code on s'attend à ce que documentId soit égal à "DC13". Mais si jamais on fait un refactoring pour avoir std::string getLastDocumentCode() { return "12"s; }, alors documentId sera égal à "DC121".
La sémantique à changée et pourtant le compilo n'a rien dit. Alors évidement, le code est loin d'être parfait, mais ce n'est qu'un exemple. Et puis de toute façon, dans la vrai vie, les codes qu'on se traines depuis des années sont très très loin d'être parfaits...
En attendant, si lastDocumentCode avait été typé "int", le changement d'interface aurait provoqué une erreur de compilation, ce qui me satisfait plus que de compter sur l'exhaustivité des tests pour éviter que le problème ne soit découvert en prod...

Ai-je raison de penser ça ? Ou l'exemple donné (que je n'ai pas testé) est trop bidon et ne peut se produire réellement ? Peut-on vraiment mettre auto partout ?
D'un point de vue plus personnel je trouve que ça nuit à la lisibilité de ne plus voir les types, être obligé d'avoir un IDE et de mettre son curseur sur la variable pour savoir ce qu'a "deviné" le compilo...