Вимоги до оформлення коду

Розділ: Інженерія систем і програмного забезпечення

📌 Про що ця тема

Тут перевіряють, чи вмієш писати код, який легко читати, підтримувати й передавати іншим розробникам. Ключове поняття — code style (стиль оформлення коду): набір угод про іменування, відступи, коментарі та структуру. Погано оформлений код працює, але його важко читати й виправляти.


📖 Головне

• Читабельність важливіша за «хитрість»: код читають частіше, ніж пишуть. Однаковий стиль у межах проєкту обовʼязковий.

• Відступи (indentation) показують вкладеність блоків. У більшості мов — 4 пробіли на рівень; у Python відступи обовʼязкові й визначають структуру програми.

• Іменування має бути осмисленим: змінна count краще, ніж c. Поширені стилі — camelCase (myVariable), snake_case (my_variable), PascalCase (для класів), UPPER_CASE (для констант).

• Імена відображають призначення: змінні — іменники (userName), функції — дієслова (getData, calculateSum).

• Коментарі пояснюють ЧОМУ, а не ЩО робить очевидний рядок. Надлишкові коментарі («i = i + 1 // додаємо 1») — шум.

• Одна функція — одна задача. Довгу функцію розбивають на дрібні.

• Уникати «магічних чисел»: замість if x > 60 писати константу MAX_SPEED = 60.

• Порожні рядки відділяють логічні блоки; пробіли навколо операторів (a = b + c) покращують читання.

• Обмеження довжини рядка (часто ~80 символів), щоб код вміщався на екрані.

• Узгодженість: якщо в проєкті прийнято snake_case — усюди snake_case, не мішати стилі.

• Структура: оголошення вгорі, логічна послідовність блоків, видалення «мертвого» (невикористовуваного) коду.


🔢 Як це працює на прикладі

Поганий код:

def f(a,b):

x=a+b

return x

Проблеми: безглузді імена f, a, b, x; немає пробілів; незрозуміле призначення.


Оформлений код:

def calculate_total(price, tax):

total = price + tax

return total

Тут видно: що робить функція (рахує суму), що означають параметри (ціна, податок), відступ 4 пробіли, пробіли навколо «=» та «+».


Інший приклад — магічне число:

Погано: if age >= 18: ...

Краще: ADULT_AGE = 18, далі if age >= ADULT_AGE: — зрозуміло й легко змінити.


⚠️ Типові помилки

• Плутають стилі іменування: в одному проєкті пишуть і userName, і user_name — це порушує узгодженість.

• Думають, що «працює» = «добре написано». Оцінюється читабельність, а не лише результат.

• Пишуть коментарі-дублікати замість пояснення складної логіки.

• У Python ставлять довільні відступи — там це синтаксична помилка, а не косметика.

• Залишають «магічні числа» й незрозумілі однобуквені змінні (крім лічильників циклів i, j).


🎯 Що завчити напамʼять

• Стилі іменування: camelCase, snake_case, PascalCase (класи), UPPER_CASE (константи).

• Відступ зазвичай 4 пробіли; у Python відступи обовʼязкові.

• Коментар пояснює ЧОМУ, не ЩО.

• Принципи: осмислені імена, одна функція — одна задача, без магічних чисел, узгодженість стилю.


🧠 Перевір себе

1. Який стиль іменування зазвичай застосовують для констант?

2. Чому однобуквені імена змінних — погана практика?

3. Чим особливі відступи в Python порівняно з іншими мовами?

4. Що краще писати замість числа 100 прямо в коді?


Відповіді: 1 — UPPER_CASE (великі літери з підкресленнями); 2 — не передають призначення, код важко читати (виняток — лічильники циклів); 3 — вони обовʼязкові й задають структуру програми, а не лише оформлення; 4 — іменовану константу (напр., MAX_VALUE = 100), щоб було зрозуміло й легко змінити.

Перевірити себе на практиці

Прочитати — половина справи. Далі потрібні завдання цієї ж теми з розбором кожної відповіді: саме на них видно, чи справді тема закрита.