Стандарт оформлення коду
Станда́рт оформле́ння ко́ду або станда́рт кодування[джерело?] (англ. 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. [1](англ.)
- 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. [1](англ.)
- 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 .