Тематические статьи →

Стандарты кодирования — залог хорошей сопровождаемости проекта

Любая команд­ная раз­ра­ботка может быть эффек­тив­ной только в том слу­чае, если участ­ники команды имеют общее виде­ние. Иначе раз­ра­ботка начи­нает напо­ми­нать басню Кры­лова «Лебедь, Щука и Рак».

Если над про­ек­том рабо­тает коман­да, а не один-два раз­ра­бот­чи­ка, то обя­за­тельно дол­жен быть стандарт оформ­ле­ния кода (его еще часто назы­вают стан­дартом коди­ро­ва­ния или сти­лем про­грам­ми­ро­ва­ния). Тоже самое каса­ется и аут­сор­син­го­вых ком­па­ний, в кото­рых про­ект может пере­да­ваться от одного раз­ра­бот­чика к дру­го­му, и про­ектов «на вынос», кото­рые пере­да­ются на под­держку и сопро­вож­де­ние «во вне», да и вообще любых про­ектов, кото­рые будут суще­ство­вать больше несколь­ких меся­цев и ско­рее всего будут рано или поздно моди­фи­ци­ро­вать­ся.

Стан­дарт коди­ро­ва­ния — набор пра­вил и согла­ше­ний, кото­рые опи­сы­вают базо­вые прин­ципы оформ­ле­ния про­грамм­ного кода, исполь­зу­е­мого сов­местно груп­пой разработчиков. Цель исполь­зо­ва­ния стан­дарта — упро­ще­ние вос­при­я­тия про­грамм­ного кода чело­ве­ком, сокра­ще­ние нагрузки на память и зре­ние при чте­нии про­грам­мы. Бону­сом к этому идёт воз­мож­ность эффек­тив­ного исполь­зо­ва­ния срав­не­ний в системе кон­троля вер­сий — раз­ный стан­дарт оформ­ле­ния кода «ломает» нор­маль­ный про­цесс работы с diff'ами, так как под­све­чи­ва­ются все изме­не­ния в оформ­ле­нии, а не только в биз­нес-логи­ке.

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

Как пра­вило, это всё авто­ма­ти­зи­ру­ется на уровне IDE (про­грамм­ной плат­фор­мы, кото­рая слу­жит для напи­са­ния кода). Про­грам­мист может писать код как ему удоб­но, а IDE может за него авто­ма­ти­че­ски фор­ма­ти­ро­вать напи­сан­ный про­грамм­ный код согласно задан­ным пра­вилам.

Исполь­зо­ва­ние стан­дартов коди­ро­ва­ния — это эко­но­ми­че­ски целесообраз­ный подход, так как чем быст­рее про­грам­мист может понять напи­сан­ный ранее код, тем меньше опла­чи­ва­е­мого вре­мени он на это потра­тит. Да и для душев­ного здо­ро­вья про­грам­мистов это полезно — прак­ти­че­ски все про­грам­мисты не любят читать чужой «гов­но­код» в смут­ной надежде понять задумку его автора и разо­браться с фак­ти­че­ски зало­жен­ной в него биз­нес-логике (нередко быва­ет, что задумка и фак­ти­че­ская реа­ли­за­ция — это «две боль­шие раз­ницы»). Разу­ме­ет­ся, что пра­вильное оформ­ле­ние не гаран­ти­рует «кра­соту» реа­ли­за­ции, но зна­чи­тельно уско­ряет пони­ма­ние.

Стрем­ле­ния к кра­соте реа­ли­за­ции и пра­вильности про­грамм­ной архи­тек­туры тоже реа­ли­зу­емы на уровне согла­ше­ний — в этом очень помогает соблюдение прин­ци­пов про­грам­ми­ро­ва­ния, напри­мер: DRY, KISS, YAGNI, SOLID.

Поделитесь с друзьями:


Информация о публикации:

Материал опубликован в 2014 году. Эта статья о веб-разработке, про бэкенд-разработку и про фронтенд-разработку. При пере­пуб­ли­ка­ции обя­за­тельно ука­за­ние пер­во­ис­точ­ника в виде гипер­тек­сто­вой ссылки на сайт web-creator.ru

Воспользуйтесь нашими
знаниями и опытом

Отправьте нам сообщение при помощи формы. Или напишите на e-mail s@web-creator.ru

Мы максимально оперативно ответим Вам по электронной почте или перезвоним.

При отправке сообщения через форму, укажите пожалуйста предпочтительный способ связи с Вами: телефон или адрес электронной почты. Мы сможем ответить Вам подробнее, если Вы напишете что-то о запланированном проекте или предполагаемых задачах.

Либо просто позвоните нам по номеру: +7 495 215-1501

Мы работаем по будним дням с 10 до 19 часов.

Комплексные услуги

Реализация «под ключ» проектов по созданию различных видов сайтов, разработка веб-приложений для автоматизации бизнес-процессов, ведение контекстных и медийных рекламных кампаний, поисковое продвижение, комплексная поддержка веб-проектов, консалтинговые услуги.