Стандарт оформлення коду
Станда́рт оформле́ння ко́ду або станда́рт кодування[джерело?] (англ. coding standards[джерело?], англ. coding convention або англ. programming style) — набір правил та угод, що використовуються при написанні сирцевого коду на деяких мовах програмування.
Використання
Стандарт оформлення коду зазвичай приймається та використовується групою розробників програмного забезпечення для єдиного стилю оформлення коду, над яким йде спільна праця. Метою прийняття та використання стандарту є спрощення сприйняття програмного коду людиною, мінімізація навантаження на пам'ять та зір при читанні програми.
Зразком для стандарту кодування може стати набір угод, прийнятих в якій-небудь поширеній печатній праці з мови програмування (наприклад, стандарт кодування мовою С, що отримав коротку назву K&R, виходить з класичного описання С його творцями — Керніганом та Рітчі), поширена бібліотека або API (так, на поширення угорської нотації вплинув той факт, що її використовували в MS-DOS та Windows API, а більшість стандартів кодування для Delphi використовують манеру кодування бібліотеки VCL). Рідше розробник мови програмування випускає детальні рекомендації по кодуванню на ній; випущені, наприклад, стандарти кодування на C# від Microsoft та на Java від Sun. Запропонована розробником та прийнята в загально відомих джерелах манера кодування може бути доповнена та уточнена у корпоративних стандартах.
Склад
Стандарт дуже залежить від використовуваної мови програмування. Наприклад, стандарт оформлення коду для С буде сильно відрізнятися від стандарту для мови BASIC. Зазвичай метою стандарту є досягнення такого стану, коли програміст достатньої кваліфікації міг би дати висновки про функцію, яку виконує конкретна ділянка коду, а в ідеалі — також визначити його коректність, вивчивши тільки цю ділянку коду, або мінімально вивчивши інші частини програми. Іншими словами, сенс коду повинен буди зрозумілим з самого коду без необхідності вивчати контекст. Тому стандарти кодування будуються так, щоб шляхом визначеного візуального оформлення елементів програми збільшити інформативність коду для людини.
Зазвичай, стандарт оформлення коду описує:
- засоби вибору значень та використовуваний регістр символів для імен змінних та інших ідентифікаторів.
- запис типу змінної в її ідентифікаторі (угорська нотація).
- регістр символів (нижній, верхній, «верблюжий», «верблюжий» з малої букви), використання знаку підкреслення для розділу слів.
- стиль відступів при оформленні логічних блоків — чи використовуються табуляції, ширина відступу.
- спосіб розстановки дужок, що обмежують логічні блоки.
- використання пробілів при оформленні логічних та арифметичних виразів.
- стиль коментарів та використання документуючих коментарів.
Поза стандартом існують правила про:
- відсутність магічних чисел
- обмеження розміру коду по горизонталі на вертикалі.
Стандарти кодування і синтаксис мов програмування
Основні принципи поширених стандартів кодування в останній час впливають на синтаксис нових мов програмування. В деяких з них, угоди, що раніше використовувались тільки в стандартах кодування, стають обов'язковими елементами синтаксису. Так, у деяких сучасних мовах (Python, Nemerle) відступи впливають на логіку виконання (тобто блоки коду виділяються не ключовими словами, а розміром відступів). В інших стали частиною мови угоди про регістри літер та префіксів для типів, констант, змінних та полів класів.
Якщо раніше недисциплінований програміст міг ігнорувати стандарти кодування з особистих міркувань, заради зручності та швидкості написання коду, то тепер, при роботі з новими мовами, дотримання стандартів деякою мірою контролюється транслятором.
Посилання
- Стандарты оформления кода языков программирования и всё что этого касается (російською). Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
- для мови C/C++: Stallman R. Стандарт кодування GNU. (російською). Архів оригіналу за 12 липня 2013. Процитовано 10 червня 2010. (англ.)
- C++ Programming Style Guidelines (англійською). Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
- для мови Java: Стиль. // Автоматический контроль качества Java-кода (російською). Процитовано 10 червня 2010.
- Стандарт кодирования Java (англ.)
- для мови PHP: Стандарты оформления кода языков программирования и всё что этого касается (російською). Процитовано 10 червня 2010.
- для мови С#: RSDN Team. Соглашения по оформлению кода команды RSDN. — RSDN Magazine., 2003. — Вып. #1-2004.
- для мови Delphi: Ткаченко А. В. (5 червня 2003). Стандарт стилевого оформления исходного кода DELPHI (російською). Королевство Delphi. Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
- для мови C/C++: Stallman R. Стандарт кодування GNU. (російською). Архів оригіналу за 12 липня 2013. Процитовано 10 червня 2010. (англ.)
- How To Write Unmaintainable Code (англійською). Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
- Coding vs Programming for Beginners: What is the Distinction? GoodCore - Bespoke Software Development Company . Cited October 11, 2019 .