Информатика и компьютерные технологии 2006. Программа международной студенческой научно-технической конференции. ДонНТУ, ФВТИ, 13.12.2006.
Анискин С.В., Мальчева Р.В.
Донецкий национальный технический университет
<
В работе рассматриваются практические результаты разработки прототипа модели самодокументирующегося кода на примере использования механизма платформы .NET, теоретические и практические аспекты разработки и реализации модели.
Введение
В основе принципа самодокументирования (понятие дано в [1], анализ
самодокументирующегося кода дано в [2]) лежит достижение доступности
документации после сборки библиотеки.
1. Постановка задачи
Прототип реализуется в рамках разработки имитационной модели
документирования программного кода и является частью методологии использования
имитационных моделей и их внедрения в учебный процесс. С целью обобщения
материала, полученного во время разработки и реализации прототипа модели
самодокументирующегося кода, путем использования механизмов отражения и
атрибутов, предоставляемых платформой .NET (описание этих механизмов в [3]).
2. Модель самодокументирующегося кода
Пример использования нотации языка для реализации принципа
самодокументирующегося кода приведен в [4]. На данный момент языки платформ Java
и .NET не предоставляют схожих возможностей. Возможности этих языков по
внутреннему документированию с помощью систем тегов ограничены временем
написания программного кода и не могут использоваться динамически, например, при
работе с собранной библиотекой. Ключевым моментом предлагаемой модели является
документирование кода, которое будет доступно и во время написания программы и
после сборки библиотеки.
Разработан прототип подпрограммы – компоненты класса, которую можно
описать с помощью синтаксической схемы (смотри [5]) представленной на рис. 1.
Рис. 1 – Синтаксическая схема подпрограммы
Для данной синтаксической схемы можно выделить следующие объекты документирования: возвращаемое значение, краткое описание, описание параметров. Эти объекты представлены в прототипе модели атрибутов, приведенной на рис. 2.
Рис. 2 - Прототип статической модели атрибутов для документирования подпрограммы
3. Реализация прототипа самодокументирующегося кода
Для реализации прототипа имплементированы классы атрибутов, например, для
атрибута параметра функции:
[AttributeUsage(…)]
public class Parameter : Attribute {…}
Тогда при написании программного кода выполняется документирование путем
использования соответствующих атрибутов, схожее с документированием путем
использования тегов XML, например:
[Summary("Move circle to point")]
[Parameter("x", "X position")]
[Parameter("y", "Y position")]
public override void Move(float x, float y) {…}
После сборки библиотеки можно осуществлять доступ к ней для получения
документации (с помощью механизма отражения, пример использования которого
приведен в [6])
Заключение
Данная работа показывает возможность использования механизмов платформы
.NET для реализации принципа самодокументирующегося кода. В работе представлена
разработка и реализации эффективного прототипа самодокументирующегося кода.
Литература
[1] Мейер Б. Объектно-ориентированное конструирование программных систем / Пер. с
англ. - М. : Издательско-торговый дом «Русская редакция», 2005. - С.54-56.
[2] Макконелл С. Совершенный код. Мастер-класс / Пер. с англ. - М. : Издательско-
торговый дом «Русская редакция»; Спб. : Питер, 2005. - С. 760-799.
[3] Троелсен Э. C# и платформа .NET. Библиотека программиста. - СПб.: Питер, 2004. -
796 с.: ил.
[4] Мейер Б. Объектно-ориентированное конструирование программных систем / Пер. с
англ. - М. : Издательско-торговый дом «Русская редакция», 2005. - С. 179-180.
[5] Пратт Т., Зелковиц М.Языки программирования: разработка и реализация / Под
общей ред. А. Матросова. - СПб.: Питер, 2002. - 688 с.: ил.
[6] Bishop J., Horspool N. Cross-Platform Development: Software that Lasts // Computer. -
October 2006 - Volume 39 Number 10, - P. 29.