Стандарт оформлення коду
Станда́рт оформле́ння ко́ду або станда́рт кодування[Джерело?] (англ. coding standards[Джерело?], англ. coding convention або англ. programming style) — набір правил та угод, що використовуються при написанні сирцевого коду на деяких мовах програмування.
Зміст |
Використання [ред.]
Стандарт оформлення коду зазвичай приймається та використовується групою розробників програмного забезпечення для єдиного стилю оформлення коду, над яким йде спільна праця. Ціллю прийняття та використання стандарту є спрощення сприйняття програмного коду людиною, мінімізація навантаження на пам'ять на зір при читанні програми.
Зразком для стандарту кодування може стати набір угод, прийнятих в якій-небудь поширеній печатній праці з мови програмування (наприклад, стандарт кодування на мові С, що отримав коротку назву K&R, виходить з класичного описання С його творцями — Керніганом та Рітчі), поширена бібліотека або API (так, на поширення угорської нотації вплинув той факт, що її використовували в MS-DOS та Windows API, а більшість стандартів кодування для Delphi використовують манеру кодування бібліотеки VCL). Рідше розробник мови програмування випускає детальні рекомендації по кодуванню на ньому; випущені, наприклад, стандарти кодування на C# від Microsoft та на Java від Sun. Запропонована розробником та прийнята в загально відомих джерелах манера кодування може бути доповнена та уточнена у корпоративних стандартах.
Склад [ред.]
Стандарт дуже залежить від використовуваної мови програмування. Наприклад, стандарт оформлення коду для С буде сильно відрізнятися від стандарту для мови BASIC. Зазвичай ціллю стандарту є досягнення такого положення, коли програміст достатньої кваліфікації міг би дати висновки про функцію, яку виконує конкретна ділянка коду, а в ідеалі — також визначити його коректність, вивчивши тільки цю ділянку коду, або мінімально вивчивши інші частини програми. Іншими словами, сенс коду повинен буди зрозумілим з самого коду без необхідності вивчати контекст. Тому стандарти кодування будуються так, щоби за рахунок визначеного візуального оформлення елементів програми збільшити інформативність коду для людини.
Зазвичай, стандарт оформлення коду описує:
- засоби вибору значень та використовуваний регістр символів для імен змінних та інших ідентифікаторів.
- запис типу змінної в її ідентифікаторі (угорська нотація).
- регістр символів (нижній, верхній, «верблюжий», «верблюжий» з малої букви), використання знаку підкреслення для розділу слів.
- стиль відступів при оформленні логічних блоків — чи використовуються табуляції, ширина відступу.
- Спосіб розстановки дужок, що обмежують логічні блоки.
- використання пробілів при оформленні логічних та арифметичних виразів.
- стиль коментарів та використання документуючих коментарів.
Поза стандартом існують правила про:
- відсутність магічних чисел
- обмеження розміру коду по горизонталі на вертикалі
Стандарти кодування і синтаксис мов програмування [ред.]
Основні принципи поширених стандартів кодування в останній час впливають на синтаксис нових мов програмування. В деяких з них, угоду, що раніше використовувались тільки в стандартах кодування, стають обов'язковими елементами синтаксису. Так, у деяких сучасних мовах (Python, Nemerle) відступи впливають на логіку виконання (тобто блоки коду виділяються не ключовими словами, а розміром відступів). В інших стали частиною мови угоди о регістрі літер та префіксів для типів, констант, змінних та полей класів.
Якщо раніше недисциплінований програміст міг ігнорувати стандарти кодування з особистих міркувань, заради зручності та швидкості написання коду, то тепер, при роботі з новими мовами, дотримання стандартів у деякій мірі контролюється транслятором
Див. також [ред.]
Посилання [ред.]
- «Стандарты оформления кода языков программирования и всё что этого касается» (російською). Процитовано 2010-06-10.
- для мови C/C++: Stallman R. «Стандарт кодування GNU.» (російською). Процитовано 2010-06-10. [1](англ.)
- «C++ Programming Style Guidelines» (англійською). Процитовано 2010-06-10.
- для мови Java: «Стиль. // Автоматический контроль качества Java-кода» (російською). Процитовано 2010-06-10.
- Стандарт кодирования Java (англ.)
- для мови PHP: «Стандарты оформления кода языков программирования и всё что этого касается» (російською). Процитовано 2010-06-10.
- для мови С#: RSDN Team Соглашения по оформлению кода команды RSDN (рос.). — RSDN Magazine., 2003. — В. #1-2004.
- для мови Delphi: Ткаченко А. В. (05.06.2003). «Стандарт стилевого оформления исходного кода DELPHI» (російською). Королевство Delphi. Процитовано 2010-06-10.
- для мови C/C++: Stallman R. «Стандарт кодування GNU.» (російською). Процитовано 2010-06-10. [1](англ.)
- «How To Write Unmaintainable Code» (англійською). Процитовано 2010-06-10.
