Станда́рт оформле́ння ко́ду або станда́рт кодування[] (англ. 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.
{{}}
: Cite має пустий невідомий параметр:|description=
()- для мови C/: Stallman R. Стандарт кодування GNU (російською) . Архів оригіналу за 12 липня 2013. Процитовано 10 червня 2010.
{{}}
: Cite має пустий невідомий параметр:|description=
() [1](англ.)- C++ Programming Style Guidelines (англійською) . Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
{{}}
: Cite має пустий невідомий параметр:|description=
()
- C++ Programming Style Guidelines (англійською) . Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
- для мови Java: Стиль. // Автоматический контроль качества Java-кода (російською) . Процитовано 10 червня 2010.
{{}}
: Cite має пустий невідомий параметр:|description=
()- Стандарт кодирования Java (англ.)
- для мови PHP: Стандарты оформления кода языков программирования и всё что этого касается (російською) . Процитовано 10 червня 2010.
{{}}
: Cite має пустий невідомий параметр:|description=
() - для мови С#: RSDN Team. Соглашения по оформлению кода команды RSDN : ( )[рос.]. — RSDN Magazine., 2003. — Вып. #1-2004.
- для мови Delphi: Ткаченко А. В. (5 червня 2003). Стандарт стилевого оформления исходного кода DELPHI (російською) . Королевство Delphi. Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
{{}}
: Cite має пустий невідомий параметр:|description=
()
- для мови C/: Stallman R. Стандарт кодування GNU (російською) . Архів оригіналу за 12 липня 2013. Процитовано 10 червня 2010.
- How To Write Unmaintainable Code (англійською) . Архів оригіналу за 27 серпня 2011. Процитовано 10 червня 2010.
{{}}
: Cite має пустий невідомий параметр:|description=
() - Coding vs Programming for Beginners: What is the Distinction? GoodCore - Bespoke Software Development Company . Cited October 11, 2019 .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Standa rt oformle nnya ko du abo standa rt koduvannya dzherelo angl coding standards dzherelo angl coding convention abo angl programming style nabir pravil ta ugod sho vikoristovuyutsya pri napisanni sircevogo kodu na deyakih movah programuvannya VikoristannyaStandart oformlennya kodu zazvichaj prijmayetsya ta vikoristovuyetsya grupoyu rozrobnikiv programnogo zabezpechennya dlya yedinogo stilyu oformlennya kodu nad yakim jde spilna pracya Metoyu prijnyattya ta vikoristannya standartu ye sproshennya sprijnyattya programnogo kodu lyudinoyu minimizaciya navantazhennya na pam yat ta zir pri chitanni programi Zrazkom dlya standartu koduvannya mozhe stati nabir ugod prijnyatih v yakij nebud poshirenij pechatnij praci z movi programuvannya napriklad standart koduvannya movoyu S sho otrimav korotku nazvu K amp R vihodit z klasichnogo opisannya S jogo tvorcyami Kerniganom ta Ritchi poshirena biblioteka abo API tak na poshirennya ugorskoyi notaciyi vplinuv toj fakt sho yiyi vikoristovuvali v MS DOS ta Windows API a bilshist standartiv koduvannya dlya Delphi vikoristovuyut maneru koduvannya biblioteki VCL Ridshe rozrobnik movi programuvannya vipuskaye detalni rekomendaciyi po koduvannyu na nij vipusheni napriklad standarti koduvannya na C vid Microsoft ta na Java vid Sun Zaproponovana rozrobnikom ta prijnyata v zagalno vidomih dzherelah manera koduvannya mozhe buti dopovnena ta utochnena u korporativnih standartah SkladStandart duzhe zalezhit vid vikoristovuvanoyi movi programuvannya Napriklad standart oformlennya kodu dlya S bude silno vidriznyatisya vid standartu dlya movi BASIC Zazvichaj metoyu standartu ye dosyagnennya takogo stanu koli programist dostatnoyi kvalifikaciyi mig bi dati visnovki pro funkciyu yaku vikonuye konkretna dilyanka kodu a v ideali takozh viznachiti jogo korektnist vivchivshi tilki cyu dilyanku kodu abo minimalno vivchivshi inshi chastini programi Inshimi slovami sens kodu povinen budi zrozumilim z samogo kodu bez neobhidnosti vivchati kontekst Tomu standarti koduvannya buduyutsya tak shob shlyahom viznachenogo vizualnogo oformlennya elementiv programi zbilshiti informativnist kodu dlya lyudini Zazvichaj standart oformlennya kodu opisuye zasobi viboru znachen ta vikoristovuvanij registr simvoliv dlya imen zminnih ta inshih identifikatoriv zapis tipu zminnoyi v yiyi identifikatori ugorska notaciya registr simvoliv nizhnij verhnij verblyuzhij verblyuzhij z maloyi bukvi vikoristannya znaku pidkreslennya dlya rozdilu sliv stil vidstupiv pri oformlenni logichnih blokiv chi vikoristovuyutsya tabulyaciyi shirina vidstupu sposib rozstanovki duzhok sho obmezhuyut logichni bloki vikoristannya probiliv pri oformlenni logichnih ta arifmetichnih viraziv stil komentariv ta vikoristannya dokumentuyuchih komentariv Poza standartom isnuyut pravila pro vidsutnist magichnih chisel obmezhennya rozmiru kodu po gorizontali na vertikali Standarti koduvannya i sintaksis mov programuvannyaOsnovni principi poshirenih standartiv koduvannya v ostannij chas vplivayut na sintaksis novih mov programuvannya V deyakih z nih ugodi sho ranishe vikoristovuvalis tilki v standartah koduvannya stayut obov yazkovimi elementami sintaksisu Tak u deyakih suchasnih movah Python Nemerle vidstupi vplivayut na logiku vikonannya tobto bloki kodu vidilyayutsya ne klyuchovimi slovami a rozmirom vidstupiv V inshih stali chastinoyu movi ugodi pro registri liter ta prefiksiv dlya tipiv konstant zminnih ta poliv klasiv Yaksho ranishe nedisciplinovanij programist mig ignoruvati standarti koduvannya z osobistih mirkuvan zaradi zruchnosti ta shvidkosti napisannya kodu to teper pri roboti z novimi movami dotrimannya standartiv deyakoyu miroyu kontrolyuyetsya translyatorom Div takozhNormi koduvannya Ugorska notaciya Magichne chislo programuvannya Kod spagetiPosilannyaStandarty oformleniya koda yazykov programmirovaniya i vsyo chto etogo kasaetsya rosijskoyu Arhiv originalu za 27 serpnya 2011 Procitovano 10 chervnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pustij nevidomij parametr description dovidka dlya movi C C Stallman R Standart koduvannya GNU rosijskoyu Arhiv originalu za 12 lipnya 2013 Procitovano 10 chervnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pustij nevidomij parametr description dovidka 1 angl C Programming Style Guidelines anglijskoyu Arhiv originalu za 27 serpnya 2011 Procitovano 10 chervnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pustij nevidomij parametr description dovidka dlya movi Java Stil Avtomaticheskij kontrol kachestva Java koda rosijskoyu Procitovano 10 chervnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pustij nevidomij parametr description dovidka Standart kodirovaniya Java angl dlya movi PHP Standarty oformleniya koda yazykov programmirovaniya i vsyo chto etogo kasaetsya rosijskoyu Procitovano 10 chervnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pustij nevidomij parametr description dovidka dlya movi S RSDN Team Soglasheniya po oformleniyu koda komandy RSDN ros RSDN Magazine 2003 Vyp 1 2004 dlya movi Delphi Tkachenko A V 5 chervnya 2003 Standart stilevogo oformleniya ishodnogo koda DELPHI rosijskoyu Korolevstvo Delphi Arhiv originalu za 27 serpnya 2011 Procitovano 10 chervnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pustij nevidomij parametr description dovidka How To Write Unmaintainable Code anglijskoyu Arhiv originalu za 27 serpnya 2011 Procitovano 10 chervnya 2010 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pustij nevidomij parametr description dovidka Coding vs Programming for Beginners What is the Distinction GoodCore Bespoke Software Development Company Cited October 11 2019