пошук, категорії та ін. показати ▼

Форматування коду

Форматування коду
автор опубліковано

Форматування є дуже важливим; тексти на С і С++ і так досить важко читаються, не треба ускладнювати ситуацію ще й поганим форматуванням. Уявіть собі, що Ви намагаєтесь прочитати книжку, текст якої не відформатований: немає абзацних відступів, відсутнє розділення абзаців порожнім рядком, немає пробілів після розділових знаків і так далі. Супровід погано відформатованої програми неможливий. Форматування насправді є одним із найкращих засобів документування, які є у Вашому розпорядженні.

Є багато правил форматування коду, і Ви маєте прагнути використовувати їх у своїх програмах. Не вірте вислову, що "не важливо, який стиль форматування Ви використовуєте, якщо Ви використовуєте його постійно". Це не так, адже, програма, яка постійно форматується погано, гірша за ту, яка зрозуміла час від часу. Випадкове просвітлення краще, ніж ніякого.

Програма без коментарів нічого не варта

Уявіть себе на місці власника фірми, яка створює програмне забезпечення. Програма, на написання якої витрачено рік, може використовуватися протягом 10 років. Вам прийдеться затратити на супровід набагато більше грошей, ніж Ви виділили на першопочаткову розробку, а програма без коментарів не може супроводжуватися. "Блискучий" програміст, який втроє швидший, ніж інші, пише короткий, елегантний, але некоментований текст програми, Вам обійдеться дорого. Якомусь менш талановитому програмісту прийдеться затратити в 10 раз більше часу, ніж потрібно, відслідковуючи помилки у коді.

Програмісти, які не вміють писати українською (чи тією мовою, якою розмовляють в країні, де передбачається супровід), виготовляють "часові бомби", а не комп'ютерні програми. Оскільки хороша документація так необхідна для процесу супроводу, то важливо, щоб програмісти були здатні її написати. По цій причині програмісти-новачки, які мають дипломи по філології, історії або іншій гуманітарній дисципліні, часто є більш бажаними, ніж люди з дипломами по природничим наукам (математиці, фізиці і т.д.). Спеціалісти з природничих наук рідко знають як писати, а більшість із них також не знають як програмувати; вони навчені тому, як запрограмувати алгоритм, а не як написати придатну для супроводу комп'ютерну програму.

На щастя, писати можна легко навчитися. Звичайно, якщо Ви притримуєтеся правила "Зроби спочатку коментарі", то Ви будете змушені писати всі свої коментарі до початку програмування.

Наведемо правила написання коментарів.

Коментарі мають мати той самий відступ, що і навколишній текст програми

Абзацні відступи призначені для того, щоб зробити структуру Вашої програми легко зрозумілою. Якщо Ви організуєте відступи в коментарях довільним чином, то цим Ви позбавите їх змісту. Коментар в наступній програмі має бути доповнений відступами:

f ()
{
/* Тут іде
** довгий коментар
*/
	code();
}

Погодьтеся, що це виглядає набагато краще:

f ()
{
	/* Тут іде
	** довгий коментар
	*/
	code();
}

Ось приклад, де є схожа проблема:

f()
{
int local_var;
int another_local_var;
	code();
}

Відсутність відступу при визначенні локальних змінним примушує допустити, що вони знаходяться в тій же області видимості, що ім'я функції (яка насправді є глобальною). Оскільки це не так, то Ви маєте зробити відступ, щоб вказати на область видимості:

f()
{
	int local_var;
	int another_local_var;
	code();
}

Не розміщуйте коментарів між іменем функції і відкриваючою дужкою

Основна складність в наступному прикладі:

foo ( int x )
/* Не розміщуйте
 * коментарів
 * тут */
{
	code();
}

заключається в тому, що тіло функції може закінчуватися на наступній сторінці, або не вміщатися на одному екрані. Тобто читач не може сказати, бачить він прототип функції чи її дійсне визначення. Розмістіть цей коментар або до імені функції, або вставте його в тіло функції нижче під відкритою фігурною дужкою:

/* Або розмістіть
 * його тут,
 */

foo ( int x )
{
	/* або тут,
 	* з таким же відступом,
 	* що і у коду. */
	code();
}

Про інші правила форматування коду і написання коментарів, читайте в наступних постах.

схоже за тегами

Залишити коментар:

Яндекс цитирования UA TOP Bloggers