Каким должен быть язык программирования? Анализ и критика Описание языка Компилятор
Отечественные разработки Cтатьи на компьютерные темы Компьютерный юмор Новости и прочее

Комментарии автоматической генерации документации

В некоторых языках, появившихся относительно недавно,
появились комментарии автоматической генерации документации. В языке Java этот вид комментариев начинаются символами «/**» и заканчиваются символами «*/». В Python такие комментарии начинаются и заканчиваются тремя двойными апострофами «"».

       Такой подход — хорошая идея. Если такие комментарии документирования можно использовать как help, то это просто здорово! Употреблённые внутри функции, они попадают в справку для этой функции. Если такой вид комментария встречается внутри класса, то он попадает в справку для этого класса. Пример на Python:

def DumpOpen(file):
	"""
        Takes one argument (the input file) and opens it for reading
        Returns a list full of data
        """
	openedFile = open(file, "r")
	data = openedFile.readlines()
	cleanedData = []
	for line in data:
		cleanedData.append(line.rstrip())
	openedFile.close()
	return cleanedData

       В программе на языке Java комментарии документации могут появляться перед классом, объявлением интерфейса, методом, конструктором или объявлением поля. На основе этих комментариев может быть сгенерирована (как вариант) web-страница с документацией.

       Отказываться от такого удобства в будущих языках программирования неразумно.

Опубликовано: 2012.09.25, последняя правка: 2014.12.20    13:39

ОценитеОценки посетителей
   █████████████████████ 1 (50%)
   ▌ 0
   █████████████████████ 1 (50%)
   ▌ 0

Отзывы

     2012/10/05 08:24, utkin          # 

В C# также есть подобные комментарии.

     2016/03/20 10:49, rst256          # 

Doxygen, а лучше CWEB хотя CWEB это уже совсем иной взгляд на документирование кода.

     2016/03/21 14:28, Автор сайта          # 

Doxygen .. работает подобно компилятору, анализируя исходные тексты и создавая документацию.

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

     2016/08/06 18:55, rst256          # 

А если основной формой хранения программы будет некое нетекстовое промежуточное представление, то будут сложности?

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

Добавить свой отзыв

Написать автору можно на электронную почту mail(аt)compiler.su

Авторизация

Регистрация

Выслать пароль

Карта сайта


Каким должен быть язык программирования?

Анализ и критика

Устарел ли текст как форма представления программы

Русский язык и программирование

Многоязыковое программирование

Синтаксис языков программирования

Синтаксический сахар

Некоторые «вкусности» Алгол-68

«Двухмерный» синтаксис Python

Почему языки с синтаксисом Си популярнее языков с синтаксисом Паскаля?

Должна ли программа быть удобочитаемой?

Стиль языка программирования

Тексто-графическое представление программы

●  Разделители

●  Строки программы

●  Слева направо или справа налево?

Комментарии

●  Длинные комментарии

●  Короткие комментарии

●  Комментарии автоматической генерации документации

●  Нерабочий код

●  Помеченные комментарии

Нужны ли беззнаковые целые?

Шестнадцатиричные и двоичные константы

Условные операторы

Переключатель

Циклы

●  Продолжение цикла и выход из него

Некошерный «goto»

Изменение приоритетов операций

Операции присвоения и проверки на равенство. Возможно ли одинаковое обозначение?

Так ли нужны операции «&&», «||» и «^^»?

Постфиксные инкремент и декремент

Почему в PHP для конкатенации строк используется «.»?

Указатели и ссылки в C++

●  Обработка ошибок

Использование памяти

Почему динамическое распределение памяти — это плохо

Как обеспечить возврат функциями объектов переменной длины?

●  Типы переменного размера (dynamically sized types, DST) в языке Rust

●  Массивы переменной длины в C/C++

●  Размещение объектов в стеке, традиционный подход

●  Размещение объектов переменной длины с использованием множества стеков

●  Размещение объектов переменной длины с использованием двух стеков

●  Реализация двухстековой модели размещения данных

●  Двухстековая модель: тесты на скорость

●  Изменение длины объекта в стеке во время исполнения

●  Размещение объектов переменной длины с использованием одного стека

Можно ли забыть о «куче», если объекты переменной длины хранить в стеке

Безопасность и размещение объектов переменной длины в стеке

Массивы, структуры, типы, классы переменной длины

О хранении данных в стеке, вместо заключения

Реализация параметрического полиморфизма

Описание языка

Компилятор

Отечественные разработки

Cтатьи на компьютерные темы

Компьютерный юмор

Новости и прочее

Последние комментарии

2019/08/19 19:19 ••• Автор сайта
Шестнадцатиричные и двоичные константы

2019/08/05 19:22 ••• Геннадий Тышов
Программирование без программистов — это медицина без врачей

2019/07/30 14:06 ••• Александр Коновалов aka Маздайщик
К вопросу о совершенствовании языка программирования

2019/07/21 20:30 ••• Автор сайта
Деньги = работа / знание

2019/07/20 19:42 ••• Александр Коновалов aka Маздайщик
Права доступа к переменным

2019/07/20 15:11 ••• Александр Коновалов aka Маздайщик
Статьи Дмитрия Караваева

2019/06/25 11:22 ••• VIT1972
Идеальный транслятор

2019/05/14 16:10 ••• utkin
Обработка ошибок

2019/05/09 18:05 ••• евгений
Русский язык и программирование

2019/04/22 16:19 ••• Автор сайта
Почему языки с синтаксисом Си популярнее языков с синтаксисом Паскаля?

2019/04/03 22:24 ••• Антон
Все голосования

2019/04/02 12:25 ••• Автор сайта
Выбор кодировки для компилятора