Je vois assez souvent la convention de nommage suivante utilisée dans le code java.Pourquoi Java utilise-t-il la convention de this.member?
class SomeClass {
private final String name;
public SomeClass(final String name) {
this.name = name;
}
}
Cela me semble un peu étrange. Tout d'abord, si vous avez mal orthographié la variable dans la signature de la méthode, elle sera toujours compilée ...
class SomeClass {
private final String name;
public SomeClass(final String nane) {
this.name = name;
}
}
Compile fine. Peut-être que les drapeaux ne sont pas utilisés comme variable inutilisée mais l'assignation (qui devient une auto-affectation) se compile silencieusement.
je trouve moi-même vouloir utiliser « m » pour les variables membres en tant que telles ...
class SomeClass {
private final String mName;
public SomeClass(final String name) {
mName = name;
}
}
Il est plus courte que la variante de .ce et attrape l'erreur faute d'orthographe étrange précédemment montré.
Cependant un de mes collègues m'a donné toutes sortes de pare-balles quand j'ai apporté ceci comme une convention sur notre nouveau projet en indiquant que « en Java, nous ne le faisons pas. ».
curieux de savoir pourquoi?
Ce n'est pas spécifique à Java. La même discussion s'applique à un certain nombre de langues, par ex. C#. – Cumbayah
J'ai vu le mot-clé 'this' utilisé pour éviter de choisir des noms de variables différentiables, par ex. en passant dans les paramètres comme vu ci-dessus. J'essaie généralement de trouver un meilleur nom de variable, mais là où je travaille actuellement, 'this' est utilisé partout. – Feanor
À quelle fréquence faites-vous des erreurs comme ça? Je devine presque jamais. Pendant une courte période, j'ai été forcé d'utiliser un préfixe et j'ai fait quelques erreurs avec ça. –