# Limit Property Setters

Віддавайте перевагу явним функціям set/get (наприклад, функціям `setBar` і `getBar`) над сеттерами/гетерами.

Розглянемо наступний код:

```ts
foo.bar = {
    a: 123,
    b: 456
};
```

За наявності сетера/гетера:

```ts
class Foo {
    a: number;
    b: number;
    set bar(value:{a:number,b:number}) {
        this.a = value.a;
        this.b = value.b;
    }
}
let foo = new Foo();
```

Це не є *добрим* використанням засобів налаштування властивостей. Людина, яка читає перший зразок коду, не має контексту щодо всіх речей, які зміняться. Тоді як хтось, хто викликає `foo.setBar(value)`, може мати ідею, що щось може змінитися на `foo`.

> Бонусні бали: Пошук посилань працює краще, якщо у вас є інші функції. В інструментах TypeScript, якщо ви знайдете посилання на геттер або сеттер, ви отримаєте *обидва*, тоді як при явних викликах функцій ви отримаєте лише посилання на відповідну функцію.
