![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 3 Всего: 65 |
Приветствую всех.
В продолжение и развивая тему работы с классами, предлагаю осветить такой вопрос. Мы знаем что в VS2003 в C# и в VS2005 в C# а так же в VB.NET есть возможность вызывать блок XML коментариев. К примеру
Вопрос лишь в том как правильно использовать эту возможность? Что, где и как следует ПРАВИЛЬНО писать? И где эти коментарии потом мы увидим? Вопрос, по моему, не праздный. Потому как, во многих обьявлениях о найме на работу, я видел требование - умение ГРАМОТНО писать коментарии к коду. Да и предуманы эти коментарии наверное не зря. Они призваны помочь нам в написании кода программы. Когда программа не большая особой необходимости в коментариях не возникает. Но если программа довольно большая и необходимо использовать многократно различные классы и в разных местах, то необходимость правильных коментариев к классам, методам и функциям резко возрастает. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| DarkDragon |
|
||||||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
thomas, здарова!
И так XML комментарии, это XML код обьявляемый в виде коментариев в языках.NET. По сути дело это метаданные, встраивающиеся вместе с компиляцией сборок(Assemblies, это может быть как приложение ввиде Executable файла, либо библиотека (dll)). Когда то я попробовал скопировать сборку System.Windows.Forms, установив параметр CopyLocal в True, и как вы думаете, что я увидел? Саму сборку и прилогающийся к нему XML фаил, с описанием классов, функций, etc... Я такое проделовал в VS.NET 2003. Для чего и для кого же они существуют? Данный коментарии создаются для разработчиков, проектирующих(разрабатывающих) на языках .NET. Создаются они с целью помочь, ориентироваться в классах, процедурах, параметрах, и т. д. сборок(Assemblies). Проще говоря XML коментарии описывают разработчику, классы, процедуры, и т. д. Дело в том что Microsoft построило(а может быть и просто встроила) технологию "Метаданных" и теперь она выкачивает все возможное из этой технологии. Визуальная студия (Visual Studio.NET), как в режиме редактирования кода, так и в режиме конструирования форм, умеет извлекать эти метаданные, и вообщемто показывать их разработчику. Где мы это можем увидеть? Как было выше сказанно в редакторе кода, и конструктора форм. Чтобы было всем понятно попробую нарисовать всю вам эту картинку. Смотрим в конструкторе форм: Создадим новый проект (Windows Application), открывается первая форма(Form1), создаем кнопку(Button), на форме естественно. Далее идем в окно Properties, специальное окошко, где ввиде таблицы параметров, отображаются свойства выделенного обьекта, на форме(форма тоже включается вкачестве выделяемого обьекта). Далее в окне "Properties" идем в категорию "Appearance", и выбераем свойство "Text". Когда мы выделим данное свойство обьекта, то можем заметить небольшое сообщение, в самом низу таблицы, которое выглядит примерно так: Text The text contained in the control. VS.NET описывает нам выделенное свойство, выделеного обьекта. Смотрим в редакторе кода: Кто редактировал свой код в VS.NET, часто замечал всплывающиеся подзказки(надеюсь Например напишем процедуру ViewComment(), буду писать на C#, т. к. в VS.NET 2003, только он поддерживает XML коментарии.
Навидя курсор мыши на слово [Text], выплывает подсказка с текстом, который описывается с помощью тэга [<summary>], это такой текст, который дает нам понять смысл данного свойства. Вообще часто разработчики Microsoft, коментируют свойства, так: Get or set....., о чем мы можем сделать следующий вывод о данном свойстве: 1. Если коментарий содержит слова Get(получить) or(или) set(установить), значить мы можем как установить, так и получить значение определенного свойства. Такие свойства обьявляются вот так: Public Property [Name]() As [Type] 2. Если коментариий содержит только слово Get, то мы может только получить значение. Такие свойства обьявляются так: Public ReadOnly Property [Name]() As [Type]. 3. Если коментарий содержит только слово Set, значить мы может только установить значение. Обьявляются так: Public WriteOnly Property [Name]() As [Type]. Идем дальше! Что нам дает тэг [<param name>]. ///<param name="[Название параметра, обьявленного в процедуре, или в свойстве]">Описание данного параметра<\param>. Такой XML скрипт коментирует конкретный параметр. Если скажем вызвать процедуру FromArgb у структуры Color, то мы увидим подсказку, содержащую имена передаваемых параметров, и внизу коментарии к активному параметру.
Когда нам нужно будет ввести параметер (красный компонент цвета[red]) то увидим следующую подсказку: red: The red component value for the new System.Drawing.Color structure. Valid values are 0 through 255. По русски: Значение красного компонента для новой структуры Color. Правильное значение может быть от 0 до 255. Для green, blue мы получим почти такие же подсказки. Собираем все вместе! <summary> - коментирует класс, процедуру, свойство, etc... <param> - коментирует отдельный параметр процедуры, или свойства. <remarks> - незнаю что именно каментирует, но вобщем переводится как "замечание" Становимся коментатарами
Заметьте что я обьявляю коментарии перед тем что я именно хочу прокоментировать(за исключением параметров, но параметры относятся именно к процедуре ToColor). Для чего всё это? Для того чтобы такие программисты как мы, знали что к чему, зачем, и как Где нам применять все это? - Создание библиотеки для программистов. Так программисты оценят вашь уровень, и желание(с которым вы писали код) - Создание сложного проекта. Так вы сами себе облегчите труд и вообще много в каких ситуация можно применять XML коментирование Главное: - Коментарии должны быть понятными. - Кто будет их читать, должен иметь редактор который умеет извлекать эти коментарии. Пример VS.NET:) thomas, коментирую твой код:
|
||||||||
|
|||||||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 3 Всего: 65 |
DarkDragon,
Приветствую. Конкретное описание. Гуру Там еще есть тег <returns>. Если логически рассуждать, то это наверное относиться только к функциям, т.к. только они имеют возвращаемое значение. Да и еще я встретил тег <history>. Это наверное относиться к "истории", но как пользовать еще не дотумкал. Да вот еще, обнаружил данные линки на другом форуме. Это для тех кто хочет иметь XML коментарии в VB.NET VS2003 (в VS 2005 уже есть встроенные) http://vbxc.tor-erik.net/ http://www.codeproject.com/vb/net/VbCommenter.asp Надеюсь вам это поможет. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Ага, всё верно. Только вот XML-комментарии не встраиваются в метаданные, а записываются в отдельный XML-файл (его генерацию нужно включить в свойствах проекта).
<summary> - это краткое описание элемента, его предназначения. <remarks> - это замечания (то, что не было оговорено в <summary>). <param> - это параметр метода/свойства. <returns> - это описание возвращаемого методом значения. <example> - это пример использования элемента. Остальные по памяти не знаю, так что вам сюда. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
А откуда же берутся всплювающие подсказки над методами? Если метаданных нет, а XML забыли скопировать |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Ниоткуда. Их не будет. К твоему сведению, все XML от библиотек .NET Framework лежат в его папке. Разумеется, копировать их в bin не нужно.
|
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
Exception, точно. Удаляешь xml-файл и "коментарии" пропадают
|
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Насчет метаданных погарячился
Сейчас вот кавырялся и нашел где задавать этот XML фаил: Project Properties => Configuration Properties => Build => Outputs => XML Documentation File. Это конечно же в проекте на C# в VS.NET 2003. |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |