LINUX.ORG.RU

Свой стиль комментариев и Doxygen

 , , , стиль кода


0

4

Есть проект, в котором длительное время использовался единый стиль комментариев. Doxygen этот стиль не понимает. Примеры:

/*
=================
Имя_Функции

Описание функции
=================
*/
void Имя_Функции( void )
{

// описание структуры
typedef struct структура_s
{
    int поле; // описание поля
} структура_t;
// описание макроса
#define МАКРОС блаблабла

все эти комментариии в doxygen исчезают.

Можно ли заставить doxygen понимать их или как-то сконвертировать автоматически в понятный ему формат?

★★★★★

Последнее исправление: mittorn (всего исправлений: 1)

Ну если для Вас doxygen не очень критичен, то попробуйте http://rfsber.home.xs4all.nl/Robo/manual.html, на первый взгляд Ваш текущий стиль документирования похож на его.

imb ★★
()
Ответ на: комментарий от mittorn

Так каким образом их сконвертировать? Не вручную же

Нет, конечно.
Минут 10-30 на создание и отлаживание конвертирующего скрипта на bash, perl, python, или что ты там знаешь...

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

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

mittorn ★★★★★
() автор топика

На самом деле, стиль комментирования в Doxygen это просто фееричный отстой.

struct foo {
        int a; /**< Comment here */
};

Не говоря уже про C++ style

struct foo {
        int a; ///< Comment here
};
kirk_johnson ★☆
()
Ответ на: комментарий от kirk_johnson

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

anonymous
()
Ответ на: комментарий от peregrine

Строчные комментарии в документации не нужны.

Конечно, какой придурок будет документировать поля структуры. Кто так вообще делает-то.

kirk_johnson ★☆
()
	// console images
	int		background;	// console background

	// conchars
	cl_font_t		chars[CON_NUMFONTS];// fonts.wad/font1.fnt
	cl_font_t		*curFont, *lastUsedFont;
	
	// console input
	field_t		input;

	// chatfiled
	field_t		chat;
	string		chat_cmd;		// can be overrieded by user

	// console history
	field_t		historyLines[CON_HISTORY];
	int		historyLine;	// the line being displayed from history buffer will be <= nextHistoryLine
	int		nextHistoryLine;	// the last line in the history buffer, not masked

	notify_t		notify[MAX_DBG_NOTIFY]; // for Con_NXPrintf
	qboolean		draw_notify;	// true if we have NXPrint message

	// console auto-complete
	string		shortestMatch;
	field_t		*completionField;	// con.input or dedicated server fake field-line
	char		*completionString;
	char		*cmds[CON_MAXCMDS];
	int		matchCount;


Полагаю, такое doxygen не умеет совсем?

mittorn ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Если кто разбирается - накидайте, в какой вид его стоит привести, а то я хотел автоконвертер сделать, но пока не знаю, как такие случаи обрабатывать.

mittorn ★★★★★
() автор топика
Последнее исправление: mittorn (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.