Соглашение об именовании аксессора машинописи - PullRequest
0 голосов
/ 06 октября 2018

Расширение этого ответа

Если я jsonize пример объекта из ответа выше:

JSON.stringify(obj)

, то мой вывод:

{"_id":"3457"}

при условии, что я хочу отправить это через службу и вывести ее в базу данных, я не хочу, чтобы имя поля было _id.Я также не хочу делать тонны переводов имен полей, когда сохраняю их.

Таким образом, мой вопрос заключается в том, каково хорошее соглашение об именах для методов доступа, чтобы иметь лучшие имена свойств?Ничто из того, что я могу придумать, не убивает ярлык доступа.

Пример:

private id: number;

public get g_id(): number {
    return this.id;
}

public set s_id(value: number) {
    this.id = value;
}

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Type-Aware JSON Parser & Serializer

@ devzero дал мне эту опцию в другом вопросе, который я задал некоторое время назад, и первоначальное использование этой библиотекибыл фантастическим.

0 голосов
/ 06 октября 2018

Я могу думать о двух вариантах:

  1. Вместо использования JSON.stringify, напишите свой собственный метод, который переводит имена полей.Например:

    public myStringify(): string {
        return JSON.stringify({id: this._id});
    }
    

    Если вы хотите, вместо того, чтобы вручную писать код для переименования каждого поля, вы, вероятно, могли бы написать некоторый код, который повторяется над Object.keys(this).

  2. Избегайте конфликта имен между средствами доступа и фактическими полями, используя отдельный объект для хранения фактических полей, и вызовите JSON.stringify для этого объекта.

...