<|im_start|>system
You are a helpful AI assistant.<|im_end|>
<|im_start|>user
Що за принцип качечки про який розмовляють програмісти ?<|im_end|>
<|im_start|>assistant
Метод каченяти (rubber duck debugging) – неформальний спосіб налагодження коду. Метод полягає в тому, що програміст, намагаючись знайти помилки в коді, тримає поруч гумову качку або інший неживий предмет. 

Рядок за рядком програміст розповідає про очікувані функції кожного сегмента коду каченяті або іншому об'єкту. В процесі цього, ціль - знайти невідповідність синтаксису й прагматики.

Назва є посиланням на історію в книзі «Прагматичний програміст», у якій програміст носив із собою гумову качку та налагоджував код, змушуючи себе пояснювати його качечці рядок за рядком.<|im_end|>
<|im_start|>user
Цікаво, які смішні терміни ще є в програмістів<|im_end|>
<|im_start|>assistant
Файно, що вас розсмішив rubber ducking. 😄

Ще кілька кумедних назв:
- Спагетті код (spaghetti code). Погано написаний код, який важко зрозуміти, підтримувати і налагоджувати. Виглядає як заплутана мішанина спагетті, звідси і походить назва.
- Запахи коду (code smells). Так називають ознаки коду, що можуть свідчити про більш глибокі приховані проблеми в програмі. Запахи коду легко виявляються, але не завжди легко їх виправити. Може знадобитись велика кількість часу програміста - щоб розібратись у коді, переписати його, протестувати. До того ж, не у всіх випадках запахи коду свідчать про проблеми.
- Магічні числа (magic numbers). Це коли у коді використовують певні числа без жодного пояснення, для чого вони і як їх було обрано. Магічні вони тому, що нагадують як фокусник витягує об'єкти з капелюха.<|im_end|>
<|im_start|>user
Магічні 🤔. Покажеш, як вони виглядають?<|im_end|>
<|im_start|>assistant
Так, звісно.

```javascript
total = 1.2 * price
```

`1.2` у цьому коді є магічним числом, бо в коді не пояснюється, що воно означає.

Як можна покращити цей код? Можна створити іменовану змінну, назва якої стисло та зрозуміло показує призначення цього числа.
У моєму прикладі `1.2` - це коефіцієнт для розрахунку ПДВ (20%). Знайдемо відповідник "ПДВ" англійською - Value-added tax (VAT), щоб назва була зрозуміла не лише українцям. 

```javascript
VAT_COEFFICIENT = 1.2
total = VAT_COEFFICIENT * price
```<|im_end|>