Що таке хороший стиль програмування?

Багато веб-програмістів відносяться до цього питання зневажливо, а даремно. Адже потім у багатьох кодерів виникають проблеми. Як показала практика, можна дуже легко помилитися у своєму ж скрипті, якщо не дотримуватися певного стилю програмування, а це даром витрачений час, нерви і гроші. Неважливо, яким стилем Ви користуєтеся при написанні веб-додатків, головне – дотримуватися цього стилю від початку до кінця. У результаті в середньому за статистикою Ви будите програмувати на 30 % швидше.

Розглянемо кілька стилів, які найбільш часто використовуються в C-подібних мовах програмування:

1. Стиль Алмена
2. Раціональний стиль
3. Стиль GNU
4. Стиль Whitesmith

1. Cтиль Алмена – цей стиль ще називають стилем «BSD». Назва походить від Еріка Алмена, який в цьому стилі написав утиліти BSD.

Стиль Алмена

Як бачимо, тут добре виділяється блоковий оператор, який візуально асоціюється з керуючим оператором.

2. Раціональний стиль – цей стиль використовується найбільш часто, ним користувалися автори мови С – Річі та Керніген .

Раціональний стиль

У цьому стилі є як переваги, так і недоліки. Безсумнівний плюс – це те, що при використанні даного стилю економиться вертикальний простір, що дуже важливо, коли ми працюємо з великими кодами. Недоліком є ​​те, що іноді буває важко знайти символ { в кінці рядка.

3. СтильGNU – цей стиль використовують програмісти GNU фонда FreeSoftwareFoundation. Суть стилю в тому, що оператори всередині керуючих конструкцій треба розташовувати на однакове число пробілів, наприклад:

Стиль GNU

На прикладі використовується 2 пробіли, також можна використовувати 4 або 8 пробілів. Але 2 вважається оптимальним варіантом, тому що при більшій кількості прогалин вкладені блоки стають сильно розтягнутими і погано сприймаються візуально.

4. СтильWhitesmith – в цьому стилі фігурні дужки розставляються наступним чином:

Стиль Whitesmith

Перевагою цього підходу є те, що дужки краще асоціюються з кодом, однак при перегляді скрипта їх трохи важче знайти, ніж, наприклад, в стилі Алмена.