Вимоги до оформлення коду
Розділ: Інженерія систем і програмного забезпечення
📌 Про що ця тема
Тут перевіряють, чи вмієш писати код, який легко читати, підтримувати й передавати іншим розробникам. Ключове поняття — 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), щоб було зрозуміло й легко змінити.