Ответ 1
Общий консенсус до сих пор заключался в использовании подчеркивания. Частные переменные не отображаются при автозавершении вне класса, поэтому вы не увидите _x
или _y
в автозавершении экземпляра Vector
. Единственное место, где вы их увидите, - это вызов конструктора, и если это действительно оскорбляет вас, вы можете избежать автоматического сопоставления (хотя я бы предпочел авто-сопоставление).
class Vector {
private _x: number;
private _y: number;
constructor(x: number, y: number) {
this._x = x;
this._y = y;
}
public get x() {
return this._x;
}
public get y() {
return this._y;
}
}
var vector = new Vector(1, 2);
Пока нет официального стандарта, но лучше следовать правилам именования стиля JavaScript, если есть какие-либо шансы на взаимодействие с внешним кодом, так как это позволит избежать переключения соглашений взад и вперед в зависимости от того, вы вызываете ли вы "Function We Made" или "Function They Made".
Избегая различий только в случае, это также рекомендация в Code Complete от Steve McConnell, которая является еще одной плохой точкой против x
и x
вместе с пунктом соглашения об именах, упомянутым в вопросе.