J'ai une classe Email
class Email {
private _from: string;
private _to: Array<string>;
private _subject: string;
}
Cela créera un objet e-mail quelque chose comme:
{
_from:'',
_to:'',
_subject:''
}
Cela me semble un peu bizarre car je ne peux pas utiliser directement cet objet pour envoyer à une fonction. Au lieu de cela, je devrai transformer l'objet afin qu'il ne comporte pas de soulignement. Alors, comment utiliser la convention de soulignement ou dois-je transformer l'objet.
EDIT: Si je laisse tomber le "_"
Comment nommer les getters et setters si nous nommons les variables privées sans trait de soulignement? Un plugin VSCode appelé boîte à outils TypeScript les crée quelque chose comme ça
public get $subject(): string {
return this.subject;
}
$ Est-il une bonne convention?
Nommez simplement vos variables privées comme vous le souhaitez, mais n'utilisez pas _
. Vous pouvez créer votre propre norme et vous y tenir.
Les setters et les getters sont comme toutes les autres fonctions, vous pouvez donc suivre la convention de nommage des méthodes pour nommer.
N'utilisez pas "_" comme préfixe pour les propriétés privées.
tilisez des mots entiers dans les noms lorsque cela est possible.
Le préfixe de soulignement "_" pour les champs privés est de style obsolète. Il est préférable de nommer votre variable de manière lisible et conviviale.
Voir la convention de codage Microsoft TypeScript ici
- N'utilisez pas "_" comme préfixe pour les propriétés privées.
Ceux qui disent, ne doivent pas utiliser le "_", pour eux, voici du code de T site ypeScript :
class Employee {
private _fullName: string;
get fullName(): string {
return this._fullName;
}
this._fullName = ......
}
Même question sur Stackoverflow , vous devriez y jeter un œil, spécialement la réponse.
Pour le moment, si nous acceptons, nous ne devrions pas utiliser _, alors quelles sont les autres meilleures façons?
Prenons votre exemple de courrier électronique, si nous n'utilisons pas _ alors, nous arriverons à quelque chose comme ceci:
memebr: to, get/set: emailTo
member: from get/set: emailFrom
peut-être que vous pouvez penser à un meilleur nom, mais à chaque fois que vous devez réfléchir, ce qui n'est pas très courant dans le monde des développeurs!
L'utilisation de _ et du même nom pour la propriété est facile à vérifier le code, sinon nous continuerons de mapper quelle propriété à quel membre.
MAIS: Si vous avez été forcé par votre chef d'entreprise, alors vous pouvez utiliser $
pour un membre et une propriété sans, pas une règle mais un moyen simple:
class Employee {
private fullName$: string;
get fullName(): string {
return this.fullName$;
}
this.fullName$ = ......
}
Le choix t'appartient!!!