zinet home
home home
home ИНТЕЛЛЕКТ-ПОРТАЛ
home Стартовал прием материалов в сборник XХХIX-й научной конференции. Требования к публикациям - в разделе "Объявления".

На главную | Объявления | Отчеты предыдущих конференций | История Украины | Контакты

РЕСУРСЫ ПОРТАЛА:

Тридцать восьмая научно-практическая конференция
(23 - 28 мая 2016 г.)


Тридцать седьмая научно-практическая конференция
(19 - 22 апреля 2016 г.)


Тридцать шестая научно-практическая конференция
(29 декабря 2015 - 5 января 2016 г.)


Тридцать пятая научно-практическая конференция
(24-27 ноября 2015 г.)


Тридцать четвертая научно-практическая конференция
(13-17 октября 2015 г.)


Тридцать третья научно-практическая конференция
(20-27 мая 2015 г.)


Тридцать вторая научно-практическая конференция
(2-7 апреля 2015 г.)


Тридцать первая научно-практическая конференция
(25 февраля - 1 марта 2015 г.)


Тридцатая научно-практическая конференция
(19-25 января 2015 г.)


Двадцать девятая международная научно-практическая конференция
(19-25 ноября 2014 г.)


Двадцать восьмая международная научно-практическая конференция
(08-13 октября 2014 г.)


Двадцать седьмая научно-практическая конференция
(20-25 мая 2014 г.)


Двадцать шестая научно-практическая конференция
(7-11 апреля 2014 г.)


Двадцать пятая юбилейная научно-практическая конференция
(3-7 марта 2014 г.)


Двадцать четвертая научно-практическая конференция
(20-25 января 2014 г.)


Двадцать третья научно-практическая конференция
(10-15 декабя 2013 г.)


Двадцать вторая научно-практическая конференция
(4-9 ноябя 2013 г.)


Первая международная научно-практическая конференция
(14-18 мая 2013 г.)


Двадцать первая научно-практическая конференция
(14-18 мая 2013 г.)


Двадцатая научно-практическая конференция
(20-28 апреля 2013 г.)


Девятнадцатая научно-практическая конференция
(26 февряля - 3 марта 2013 г.)


Восемнадцатая научно-практическая конференция
(22-26 декабря 2012 г.)


Семнадцатая научно-практическая конференция
(22-26 октября 2012 г.)


Шестнадцатая научно-практическая конференция
(09-14 апреля 2012 г.)


Пятнадцатая научно-практическая конференция
(01 - 07 марта 2012 г.)


Четырнадцатая научно-практическая конференция
(12-20 декабря 2011 г.)


Тринадцатая научно-практическая конференция
(28 октября - 09 ноября 2011 г.)


Двенадцатая научно-практическая конференция
(28 мая - 06 июня 2011 г.)


Одинадцатая научно-практическая конференция
(26 апреля - 04 мая 2011 г.)


Десятая научно-практическая конференция
(15-23 марта 2011 г.)


Девятая научно-практическая конференция
(27-31 декабря 2010 г.)


Восьмая научно-практическая конференция
(05-12 декабря 2010 г.)


Седьмая научно-практическая конференция
(28 мая - 7 июня 2010 г.)


Шестая научно-практическая конференция
(1-15 апреля 2010 г.)


Пятая научно-практическая конференция
(20-27 мая 2009 г.)


Четвертая научно-практическая конференция
(10-17 апреля 2009 г.)


Третья научно-практическая конференция
(20-27 декабря 2008 г.)


Вторая научно-практическая конференция
(1-7 ноября 2008 г.)


Первая научно-практическая конференция
(10-15 мая 2008 г.)



НАШИ ПАРТНЕРЫ:

Студия веб-дизайна www.zinet.info



Студия ландшафтного дизайна Флора-МК


Уникальное предложение!



Сайт-визитка - теперь
всего за 200 грн!

подробнее>>>



РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ПРОВЕРКИ СТИЛЯ КОДИРОВАНИЯ ПРОГРАММ

 

Горемыкин М.В.

Россия, г. Волгоград,

Волгоградский Государственный Технический Университет

 

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

 

This paper examines approaches for solving the urgent problem of checking code style. Uniformity in writing improves the efficiency of software development, reducing the time required for its analysis in subsequent stages of implementation, simplifies the process of recruitment of new team members and makes maintenance of a software product easier.

 

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

Стиль оформления кодирования – набор правил и соглашений, принимаемых группой разработчиков, для написания кода программного продукта на выбранном командой языке. Его назначение заключается в накладывании ограничений на использование разработчиком определенных языковых конструкций, а также ряд положений о написании кода. Данный набор правил описывает соглашения о способах выбора названий, используемый регистр, стиль отступов, оформление комментариев, разбиение кода на блоки с заданным форматированием и др.

Известный автор книг по объектно-ориентированному анализу и разработки программного обеспеченья Мартин Фаулер говорил: “Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям”[1, c. 32]. Наличие единообразно оформленного кода важно так как:

·         40 – 80 % жизненного цикла программного продукта идет на его поддержку;

·         поддержка большинства программных продуктов происходит сторонними командами, а не их первоначальными создателями.

Следование стилю кодирования является очень важным в работе программиста. Роберт Мартин [3] в своей книге «Чистый код» утверждал, что код следует писать так, чтобы временные затраты людей, использующих его в последствии были минимальны. Этого же вопроса касается Босвелл [2] в своей книге “Искусство чистого кода”.

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

С точки зрения клиента программного продукта с поставляемым исходным кодом стилистическая однородность позволяет сформировать базовое представление о архитектуре продукта. Его можно будет использовать при работе с ранее не изученными компонентами кода. В крупных компаниях, специализирующихся на разработке программного обеспеченья типичный процесс разработки выглядит следующим образом: новый член команды получает требующий досконального изучения объёмный документ с соглашением о стиле кодирования, после чего он приступает к написанию кода, попутно совершая ошибки в его оформлении. Эти ошибки обнаруживаются либо более опытными разработчиками, совершающими ревизии кода в процессе разработки, либо на этапе сдачи программного продукта. Оба варианта неудовлетворительны, поскольку в первом случае проявляется возможность совершения новых ошибок при исправлении, тем самым заставляя других участников делать большее число ревизий и тем самым отвлекать их от решения их собственных задач. Во втором случае могут проявиться негативные последствия для команды, так сроки сдачи программного продукта будут сорваны.

Исходя из изложенного, возникает потребность в развитии у программиста навыка написания кода в соответствии с заданным стилем кодирования.

Задача проверки стилистических несоответствий в форматировании кода может и должна быть автоматизирована.

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

Целью данной работы является снижение трудоемкости написания и поддержки исходного кода за счет автоматизации выявления стилистических ошибок оформления кода.

Для достижения цели были поставлены следующие задачи: исследовать текущее состояние предметной области, определить требования, разработать программный макет. Данное средство позволит обойти проблему централизации, а также предоставит пользователю возможность создавать новые проверки либо при помощи их параметризации, либо создавая новые проверки на основе информации получаемой из семантического и лексического анализаторов.

Ограничения, накладываемые на программный макет: язык программирования С++, фиксированный список правил для стилистической проверки оформления кода. Введенные ограничения позволят сконцентрироваться на особенностях конкретного языка программирования, тем самым ограничив сроки реализации макета.

Такая система будет выявлять несоответствия заданным пользователем правилам в оформлении кода. Проверка будет осуществляться при помощи анализа информации, полученной из лексического и семантического анализаторов.

 

Список использованных источников:

1.      1 Фаулер, М. Рефакторинг: улучшение существующего кода/М. Фаулер. – СПб: Символ

2.      Плюс, 2003. – 432 с.

3.      2 Boswell, D. The Art of Readable Code/ D. Boswell, T. Foucher. – Sebastopol: O'Reilly Media, 2011. – 206 p.

4.      3 Martin, R.C. Clean code: a handbook of agile software craftsmanship / R.C. Martin. – New Jersey: Prentice Hall PTR, 2009. – 431 p.



Первая научно-практическая конференция
"Инновационный потенциал украинской науки - ХХI век"
(10-15 мая 2008 г.)


(отчет)
Вторая научно-практическая конференция
"Инновационный потенциал украинской науки - ХХI век"
(1-7 ноября 2008 г.)
(отчет)
Третья научно-практическая конференция
"Инновационный потенциал украинской науки - ХХI век"
(20-27 декабря 2008 г.)
(отчет)
Четвертая научно-практическая конференция
(10-17 апреля 2009 г.)
(отчет)
Пятая научно-практическая конференция
(20-27 мая 2009 г.)
(отчет)
Шестая научно-практическая конференция
(1-15 апреля 2010 г.)
(отчет)
Седьмая научно-практическая конференция
(28 мая - 7 июня 2010 г.)
(отчет)
Восьмая научно-практическая конференция
(05-12 декабря 2010 г.)
(отчет)
Девятая научно-практическая конференция
(27-31 декабря 2010 г.)
(отчет)
Десятая научно-практическая конференция
(15-23 марта 2011 г.)
(отчет)
Одинадцатая научно-практическая конференция
(26 апреля 04 мая 2011 г.)
(отчет)
Двенадцатая научно-практическая конференция
(28 мая - 06 июня 2011 г.)
(отчет)
Тринадцатая научно-практическая конференция
(28 октября - 09 ноября 2011 г.)
(отчет)
Четырнадцатая научно-практическая конференция
(12-20 декабря 2011 г.)
(отчет)
Пятнадцатая научно-практическая конференция
(01-07 марта 2012 г.)
(отчет)
Шестнадцатая научно-практическая конференция
(09-14 апреля 2012 г.)
(отчет)
Семнадцатая научно-практическая конференция
(22-26 октября 2012 г.)
(отчет)
Восемнадцатая научно-практическая конференция
(22-26 декабря 2012 г.)
(отчет)
Девятнадцатая научно-практическая конференция
(26 февраля - 3 марта 2013 г.)
(отчет)
Двадцатая научно-практическая конференция
(20-28 апреля 2013 г.)
(отчет)
Двадцать первая научно-практическая конференция
(13-18 мая 2013 г.)
(отчет)
Первая международная научно-практическая конференция
"Перспективные направления отечественной науки - ХХI век"
(13-18 мая 2013 г.)
(отчет)
Двадцать вторая научно-практическая конференция
(4-9 ноября 2013 г.)
(отчет)
Двадцать третья научно-практическая конференция
(10-15 декабря 2013 г.)
(отчет)
Двадцать четвертая научно-практическая конференция
(20-25 января 2014 г.)
(отчет)
Двадцать пятая юбилейная научно-практическая конференция
(3-7 марта 2014 г.)
(отчет)
Двадцать шестая научно-практическая конференция
(7-11 апреля 2014 г.)
(отчет)
Двадцать седьмая научно-практическая конференция
(20-25 мая 2014 г.)
(отчет)
Двадцать восьмая научно-практическая конференция
(08-13 октября 2014 г.)
(отчет)
Двадцать девятая научно-практическая конференция"
(19-25 ноября 2014 г.)
(отчет)
Тридцатая научно-практическая конференция
(19-25 января 2015 г.)
(отчет)
Тридцать первая научно-практическая конференция
(25 февраля - 1 марта 2015 г.)
(отчет)
Тридцать вторая научно-практическая конференция
(2 - 7 апреля 2015 г.)
(отчет)
Тридцать третья научно-практическая конференция
(20 - 27 мая 2015 г.)
(отчет)
Тридцать четвертая научно-практическая конференция
(13 - 17 октября 2015 г.)
(отчет)
Тридцать пятая научно-практическая конференция
(24 - 27 ноября 2015 г.)
(отчет)
Тридцать шестая научно-практическая конференция
(29 декабря 2015 - 5 января 2016 г.)
(отчет)
Тридцать седьмая научно-практическая конференция
(19 - 22 апреля 2016 г.)
(отчет)
Тридцать восьмая научно-практическая конференция
(23 - 25 мая 2016 г.)
(отчет)

На главную | Объявления | Отчеты предыдущих конференций | История Украины | Контакты

Copyright © Zinet.info. Разработка и поддержка сайта - Студия веб-дизайна Zinet.info