Стандарт оформления кода

Поделись знанием:
Перейти к: навигация, поиск

Станда́рт оформле́ния ко́да (станда́рт коди́рования, стиль программи́рования) (англ. coding standards, coding convention или programming style) — набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования. Наличие общего стиля программирования облегчает понимание и поддержание исходного кода, написанного более чем одним программистом, а также упрощает взаимодействие нескольких человек при разработке программного обеспечения[1].





Применение

Стандарт оформления кода обычно принимается и используется некоторой группой разработчиков программного обеспечения для единообразного оформления совместно используемого кода. Целью принятия и использования стандарта является упрощение восприятия программного кода человеком, минимизация нагрузки на память и зрение при чтении программыК:Википедия:Статьи без источников (тип: не указан)[источник не указан 4217 дней].

Образцом для стандарта кодирования может стать набор соглашений, принятых в какой-либо распространённой печатной работе по языку (например, стандарт кодирования на языке Си, получивший сокращённое наименование K&R, происходит из классического описания Си его авторами — Керниганом и Ричи), широко применяемая библиотека или API (так, на распространение венгерской нотации явно повлияло её использование в MS-DOS и Windows API, а большинство стандартов кодирования для Delphi используют, в той или иной мере, манеру кодирования библиотеки VCL). Реже разработчик языка выпускает подробные рекомендации по кодированию. Например, выпущены стандарты кодирования на C# от Microsoft[2] и на Java от Sun. Предложенная разработчиком или принятая в общеизвестных источниках манера кодирования в большей или меньшей степени дополняется и уточняется в корпоративных стандартах.

Состав

Стандарт сильно зависит от используемого языка программирования. Например, стандарт оформления кода для языка Си будет серьёзно отличаться от стандарта для языка BASIC. В целом, исходя из назначения стандарта, обычно он имеет целью добиться такого положения, когда программист достаточной квалификации мог бы дать заключение о функции, выполняемой конкретным участком кода, а в идеале — также определить его корректность, изучив только сам этот участок кода или, во всяком случае, минимально изучив другие части программы. Иными словами, смысл кода должен быть виден из самого кода, без необходимости изучать контекст. Поэтому стандарт кодирования обычно строится так, чтобы за счёт определённого визуального оформления элементов программы повысить информативность кода для человека.

Обычно, стандарт оформления кода описывает:

Вне стандарта подразумевается:

  • отсутствие магических чисел;
  • ограничение размера кода по горизонтали (чтобы помещался на экране) и вертикали (чтобы весь код файла держался в памяти), а также функции или метода в размер одного экрана.

Стандарты кодирования и синтаксис языков

Основные принципы распространённых стандартов кодирования в последнее время оказывают влияние на синтаксис вновь создаваемых языков программирования. В некоторых из них соглашения, ранее применявшиеся только в стандартах кодирования, стали обязательными элементами синтаксиса. Так, в некоторых современных языках (Python[3], Nemerle) отступы влияют на логику исполнения (то есть блоки кода выделяются не ключевыми словами, а размером отступов), в других (Ruby) — частью языка стали соглашения о регистре букв и префиксах для типов, констант, переменных и полей классовК:Википедия:Статьи без источников (тип: не указан)[источник не указан 4217 дней][4]. В результате, если ранее недисциплинированный программист мог игнорировать стандарты кодирования из личных соображений, ради удобства или скорости написания кода, то теперь, при работе на новых языках, соблюдение стандартов в определённой мере контролируется транслятором.

См. также

Напишите отзыв о статье "Стандарт оформления кода"

Примечания

  1. [www.chris-lott.org/resources/cstyle/Wildfire-C++Style.html#HDR3 Keith Gabryelski, Wildfire C++ Programming Style, 1997]
  2. [msdn.microsoft.com/ru-ru/library/vstudio/ms229002(v=vs.100).aspx Microsoft, Правила именования]
  3. [www.diveintopython.net/getting_to_know_python/indenting_code.html Mark Pilgrim, Dive into Python, Indenting Code]
  4. [github.com/bbatsov/ruby-style-guide The Ruby Style Guide].

Литература

  • Д. Ван Тассел. Стиль, разработка, эффективность, отладка и испытание программ = Program style, design, efficiency, debugging, and testing. — 2-е изд. — М.: Мир, 1985. — 332 с.
  • Стив Макконнелл. Совершенный код = Code complete. — М.: Русская Редакция, 2010. — С. 896. — (Мастер-класс). — ISBN 978-5-7502-0064-1.

Ссылки

  • [www.webcitation.org/61FnsVgXy Стандарты оформления кода языков программирования и всё что этого касается] (рус.). Проверено 27 августа 2011.
    • для языка C/C++: Stallman R. [www.opennet.ru/docs/RUS/coding_standard/ Стандарт кодирования GNU.] (рус.). Проверено 21 июня 2011. [www.webcitation.org/61FntiSOh Архивировано из первоисточника 27 августа 2011]. [www.gnu.org/prep/standards/] (англ.)
      • [geosoft.no/development/cppstyle.html C++ Programming Style Guidelines] (англ.). Проверено 10 июня 2010. [www.webcitation.org/61FnvD4U6 Архивировано из первоисточника 27 августа 2011].
    • для языка Java: [habrahabr.ru/post/63212/ Стиль. // Автоматический контроль качества Java-кода] (рус.). Проверено 10 июня 2010.
      • [www.oracle.com/technetwork/java/codeconvtoc-136057.html Code Conventions for the Java Programming Language: Contents] (англ.)
    • для языка PHP: [www.opennet.ru/docs/RUS/php_code_standart/ Стандарты оформления кода языков программирования и всё что этого касается] (рус.). Проверено 10 июня 2010.
    • для языка Ruby: Божидар Батсов. [github.com/arbox/ruby-style-guide Руби: руководство по стилю оформления] (рус.). Проверено 11 декабря 2014.
    • для языка С#: RSDN Team [rsdn.ru/article/mag/200401/codestyle.XML Соглашения по оформлению кода команды RSDN] (рус.). — RSDN Magazine., 2003. — Вып. #1-2004.
    • для языка Delphi: Ткаченко А. В. [www.citforum.ru/programming/delphi/style_delphi/ Стандарт стилевого оформления исходного кода DELPHI] (рус.). Королевство Delphi (05.06.2003). Проверено 10 июня 2010. [www.webcitation.org/61FnzR4mv Архивировано из первоисточника 27 августа 2011].
  • Microsoft. [msdn.microsoft.com/ru-ru/library/vstudio/ms229002(v=vs.100).aspx Правила именования] (рус.).
  • Голуб А. И. [e-maxx.ru/bookz/files/golub_cord.pdf Веревка достаточной длины, чтобы... выстрелить себе в ногу] (рус.) // Зацепин В. / перев. Зацепин В. ред. Базаров В.. — Москва, 2001. — С. 241 (Глава 3. Форматирование и документация 37-55 Глава 4. Имена и индификаторы 56-.
  • [www.wuppy.net.ru/Fun/unmain.html How To Write Unmaintainable Code] (англ.). Проверено 10 июня 2010. [www.webcitation.org/61Fo0dw5q Архивировано из первоисточника 27 августа 2011].


Отрывок, характеризующий Стандарт оформления кода

– Не смотрите на меня. Мама, не смотрите, я сейчас заплачу.
– Садись, посиди со мной, – сказала графиня.
– Мама, мне его надо. За что я так пропадаю, мама?… – Голос ее оборвался, слезы брызнули из глаз, и она, чтобы скрыть их, быстро повернулась и вышла из комнаты. Она вышла в диванную, постояла, подумала и пошла в девичью. Там старая горничная ворчала на молодую девушку, запыхавшуюся, с холода прибежавшую с дворни.
– Будет играть то, – говорила старуха. – На всё время есть.
– Пусти ее, Кондратьевна, – сказала Наташа. – Иди, Мавруша, иди.
И отпустив Маврушу, Наташа через залу пошла в переднюю. Старик и два молодые лакея играли в карты. Они прервали игру и встали при входе барышни. «Что бы мне с ними сделать?» подумала Наташа. – Да, Никита, сходи пожалуста… куда бы мне его послать? – Да, сходи на дворню и принеси пожалуста петуха; да, а ты, Миша, принеси овса.
– Немного овса прикажете? – весело и охотно сказал Миша.
– Иди, иди скорее, – подтвердил старик.
– Федор, а ты мелу мне достань.
Проходя мимо буфета, она велела подавать самовар, хотя это было вовсе не время.
Буфетчик Фока был самый сердитый человек из всего дома. Наташа над ним любила пробовать свою власть. Он не поверил ей и пошел спросить, правда ли?
– Уж эта барышня! – сказал Фока, притворно хмурясь на Наташу.
Никто в доме не рассылал столько людей и не давал им столько работы, как Наташа. Она не могла равнодушно видеть людей, чтобы не послать их куда нибудь. Она как будто пробовала, не рассердится ли, не надуется ли на нее кто из них, но ничьих приказаний люди не любили так исполнять, как Наташиных. «Что бы мне сделать? Куда бы мне пойти?» думала Наташа, медленно идя по коридору.
– Настасья Ивановна, что от меня родится? – спросила она шута, который в своей куцавейке шел навстречу ей.
– От тебя блохи, стрекозы, кузнецы, – отвечал шут.
– Боже мой, Боже мой, всё одно и то же. Ах, куда бы мне деваться? Что бы мне с собой сделать? – И она быстро, застучав ногами, побежала по лестнице к Фогелю, который с женой жил в верхнем этаже. У Фогеля сидели две гувернантки, на столе стояли тарелки с изюмом, грецкими и миндальными орехами. Гувернантки разговаривали о том, где дешевле жить, в Москве или в Одессе. Наташа присела, послушала их разговор с серьезным задумчивым лицом и встала. – Остров Мадагаскар, – проговорила она. – Ма да гас кар, – повторила она отчетливо каждый слог и не отвечая на вопросы m me Schoss о том, что она говорит, вышла из комнаты. Петя, брат ее, был тоже наверху: он с своим дядькой устраивал фейерверк, который намеревался пустить ночью. – Петя! Петька! – закричала она ему, – вези меня вниз. с – Петя подбежал к ней и подставил спину. Она вскочила на него, обхватив его шею руками и он подпрыгивая побежал с ней. – Нет не надо – остров Мадагаскар, – проговорила она и, соскочив с него, пошла вниз.
Как будто обойдя свое царство, испытав свою власть и убедившись, что все покорны, но что всё таки скучно, Наташа пошла в залу, взяла гитару, села в темный угол за шкапчик и стала в басу перебирать струны, выделывая фразу, которую она запомнила из одной оперы, слышанной в Петербурге вместе с князем Андреем. Для посторонних слушателей у ней на гитаре выходило что то, не имевшее никакого смысла, но в ее воображении из за этих звуков воскресал целый ряд воспоминаний. Она сидела за шкапчиком, устремив глаза на полосу света, падавшую из буфетной двери, слушала себя и вспоминала. Она находилась в состоянии воспоминания.
Соня прошла в буфет с рюмкой через залу. Наташа взглянула на нее, на щель в буфетной двери и ей показалось, что она вспоминает то, что из буфетной двери в щель падал свет и что Соня прошла с рюмкой. «Да и это было точь в точь также», подумала Наташа. – Соня, что это? – крикнула Наташа, перебирая пальцами на толстой струне.
– Ах, ты тут! – вздрогнув, сказала Соня, подошла и прислушалась. – Не знаю. Буря? – сказала она робко, боясь ошибиться.
«Ну вот точно так же она вздрогнула, точно так же подошла и робко улыбнулась тогда, когда это уж было», подумала Наташа, «и точно так же… я подумала, что в ней чего то недостает».
– Нет, это хор из Водоноса, слышишь! – И Наташа допела мотив хора, чтобы дать его понять Соне.
– Ты куда ходила? – спросила Наташа.
– Воду в рюмке переменить. Я сейчас дорисую узор.
– Ты всегда занята, а я вот не умею, – сказала Наташа. – А Николай где?
– Спит, кажется.
– Соня, ты поди разбуди его, – сказала Наташа. – Скажи, что я его зову петь. – Она посидела, подумала о том, что это значит, что всё это было, и, не разрешив этого вопроса и нисколько не сожалея о том, опять в воображении своем перенеслась к тому времени, когда она была с ним вместе, и он влюбленными глазами смотрел на нее.
«Ах, поскорее бы он приехал. Я так боюсь, что этого не будет! А главное: я стареюсь, вот что! Уже не будет того, что теперь есть во мне. А может быть, он нынче приедет, сейчас приедет. Может быть приехал и сидит там в гостиной. Может быть, он вчера еще приехал и я забыла». Она встала, положила гитару и пошла в гостиную. Все домашние, учителя, гувернантки и гости сидели уж за чайным столом. Люди стояли вокруг стола, – а князя Андрея не было, и была всё прежняя жизнь.
– А, вот она, – сказал Илья Андреич, увидав вошедшую Наташу. – Ну, садись ко мне. – Но Наташа остановилась подле матери, оглядываясь кругом, как будто она искала чего то.
– Мама! – проговорила она. – Дайте мне его , дайте, мама, скорее, скорее, – и опять она с трудом удержала рыдания.
Она присела к столу и послушала разговоры старших и Николая, который тоже пришел к столу. «Боже мой, Боже мой, те же лица, те же разговоры, так же папа держит чашку и дует точно так же!» думала Наташа, с ужасом чувствуя отвращение, подымавшееся в ней против всех домашних за то, что они были всё те же.
После чая Николай, Соня и Наташа пошли в диванную, в свой любимый угол, в котором всегда начинались их самые задушевные разговоры.


– Бывает с тобой, – сказала Наташа брату, когда они уселись в диванной, – бывает с тобой, что тебе кажется, что ничего не будет – ничего; что всё, что хорошее, то было? И не то что скучно, а грустно?
– Еще как! – сказал он. – У меня бывало, что всё хорошо, все веселы, а мне придет в голову, что всё это уж надоело и что умирать всем надо. Я раз в полку не пошел на гулянье, а там играла музыка… и так мне вдруг скучно стало…
– Ах, я это знаю. Знаю, знаю, – подхватила Наташа. – Я еще маленькая была, так со мной это бывало. Помнишь, раз меня за сливы наказали и вы все танцовали, а я сидела в классной и рыдала, никогда не забуду: мне и грустно было и жалко было всех, и себя, и всех всех жалко. И, главное, я не виновата была, – сказала Наташа, – ты помнишь?
– Помню, – сказал Николай. – Я помню, что я к тебе пришел потом и мне хотелось тебя утешить и, знаешь, совестно было. Ужасно мы смешные были. У меня тогда была игрушка болванчик и я его тебе отдать хотел. Ты помнишь?
– А помнишь ты, – сказала Наташа с задумчивой улыбкой, как давно, давно, мы еще совсем маленькие были, дяденька нас позвал в кабинет, еще в старом доме, а темно было – мы это пришли и вдруг там стоит…
– Арап, – докончил Николай с радостной улыбкой, – как же не помнить? Я и теперь не знаю, что это был арап, или мы во сне видели, или нам рассказывали.
– Он серый был, помнишь, и белые зубы – стоит и смотрит на нас…
– Вы помните, Соня? – спросил Николай…
– Да, да я тоже помню что то, – робко отвечала Соня…
– Я ведь спрашивала про этого арапа у папа и у мама, – сказала Наташа. – Они говорят, что никакого арапа не было. А ведь вот ты помнишь!
– Как же, как теперь помню его зубы.
– Как это странно, точно во сне было. Я это люблю.
– А помнишь, как мы катали яйца в зале и вдруг две старухи, и стали по ковру вертеться. Это было, или нет? Помнишь, как хорошо было?
– Да. А помнишь, как папенька в синей шубе на крыльце выстрелил из ружья. – Они перебирали улыбаясь с наслаждением воспоминания, не грустного старческого, а поэтического юношеского воспоминания, те впечатления из самого дальнего прошедшего, где сновидение сливается с действительностью, и тихо смеялись, радуясь чему то.
Соня, как и всегда, отстала от них, хотя воспоминания их были общие.
Соня не помнила многого из того, что они вспоминали, а и то, что она помнила, не возбуждало в ней того поэтического чувства, которое они испытывали. Она только наслаждалась их радостью, стараясь подделаться под нее.
Она приняла участие только в том, когда они вспоминали первый приезд Сони. Соня рассказала, как она боялась Николая, потому что у него на курточке были снурки, и ей няня сказала, что и ее в снурки зашьют.