le problème est masqué car le var myContacts = getContacts(); est juste au dessus de ta boucle.
Intercales un ou deux écrans de code et tu n'a plus le contexte.
Pour pas te perdre, tu vas avoir tendance à généraliser ce que tu fais dans ton exemple, cad nommer tes variables en fonction de leurs types.
Par contre, si tu écris du code métier avec beaucoup d'abstraction, très rapidement tu te moques du type
J'aurais tendance à dire que dans ces cas, les classes manipulées implémentent souvent de multiples interfaces et qu'il est donc important de bien savoir ce que l'on manipule.
Peut être un exemple simple et court qui te parleras plus :
Donc, pour moi, à ce niveau, 'var' c'est casse gueule.
Désolé de devoir me contenter de code de quelques lignes pour la lisibilité, les vrais problèmes apparaissent avec la complexité et la taille. Bien que je travaille en équipe sur un "codebase" d'un demi million de lignes Java depuis des années, je comprend très bien que "var" puisse être attrayant pour de tout petits projets, mais même dans ce cas j'ai du mal a y voir un véritable gain.
[^] # Re: Inférence de types
Posté par Guillaume Maillard (site web personnel) . En réponse à la dépêche Sortie de JDK 10. Évalué à 0.
1
Je suis tout à fait d'accord avec toi quand tu considère que sur la ligne (et uniquement celle ci)
il n'y a pas de perte d'information, mais je ne vois pas le gain par rapport à :
car ce n'est ni plus substantiellement long à écrire, ni à lire, ni à comprendre, ni à stocker.
Donc, pour moi, à ce niveau, 'var' c'est inutile.
2
Sur ton exemple :
le problème est masqué car le var myContacts = getContacts(); est juste au dessus de ta boucle.
Intercales un ou deux écrans de code et tu n'a plus le contexte.
Pour pas te perdre, tu vas avoir tendance à généraliser ce que tu fais dans ton exemple, cad nommer tes variables en fonction de leurs types.
J'aurais tendance à dire que dans ces cas, les classes manipulées implémentent souvent de multiples interfaces et qu'il est donc important de bien savoir ce que l'on manipule.
Peut être un exemple simple et court qui te parleras plus :
Il se passe quoi? On écrit un fichier? On écrit sur une socket? On a flingué les perfs ? Le code est correct?
Par contre si tu écris :
C'est tout de suite plus clair, on écrit dans un fichier
et, en plus, de la pire des façons.
On écrira donc :
Donc, pour moi, à ce niveau, 'var' c'est casse gueule.
Désolé de devoir me contenter de code de quelques lignes pour la lisibilité, les vrais problèmes apparaissent avec la complexité et la taille. Bien que je travaille en équipe sur un "codebase" d'un demi million de lignes Java depuis des années, je comprend très bien que "var" puisse être attrayant pour de tout petits projets, mais même dans ce cas j'ai du mal a y voir un véritable gain.