Инструмент Linux для проверки написания комментариев в исходном коде c/С++

Какое программное обеспечение вы предлагаете проверить написание комментариев, содержащихся в исходном коде c/С++ (особенно комментарии doxygen)? Я ищу что-то, что будет анализировать только комментарии, поэтому я могу легко найти ошибки и исправить их.

Вопрос общий, но более конкретный - я использую IDE CodeLite.

Ответы

Ответ 1

Emacs имеет ispell-comments-and-strings, который очень хорошо работает внутри редактора. Он использует механизм подсветки синтаксиса для идентификации комментариев и строк, поэтому он работает с любым языком, для которого у вас есть хорошая подсветка.

Не знаю, как сделать работу с вашей IDE.

Ответ 2

Хорошим местом для проверки комментариев doxygen, кажется, является сам doxygen. Но он не проверяет правописание:?.

Быстрый, обходной путь, который приходит мне на ум, который может сработать, я думаю, состоит в том, чтобы генерировать вывод LaTeX, а затем использовать LaTeX для проверки орфографии. Еще одна душа может использовать формат вывода doxygen Perl Module и написать код в Perl для проверки орфографии (например, с помощью Aspell или Ispell).

С IDE это намного проще, потому что любая достойная среда IDE должна поддерживать проверку орфографии для doc-комментариев (пример Eclipse CDT)

Ответ 3

Мне тоже нужно было что-то подобное. Он должен был иметь возможность запускать не только Linux, но и.

Я видел, что проверка орфографии часто сопрягается с IDE (например, с затмением). Я хотел, чтобы инструмент, который был полностью независим от какой-либо IDE, потому что я хотел иметь возможность запускать его в автоматизированных сценариях, таких как сборки Travis-CI или сборки AppVeyor CI.

Посмотрел немного на такой инструмент, а затем решил написать свой собственный.

Я придумал pyspellcode, который отвечает этим требованиям. Это python script, который использует clang и hunspell, которые должны быть легко запущены на Linux по крайней мере. script:

  • запускает clang, чтобы получить свой вывод дампа AST,
  • читает информацию AST и находит узлы комментариев,
  • передаёт слова от t21 > для проверки, а затем
  • возвращает слова, которые не были распознаны.

Что было для меня неожиданным сюрпризом, так это то, как глубоко clang анализирует комментарии С++ даже на элементы doxygen и встроенную HTML-разметку. Это позволило использовать clang AST для выполнения таких действий, как игнорировать слова, вложенные в блоки <code>...</code>, и я воспользовался этим в script.

script, доступный от GitHub как лицензированный проект с открытым исходным кодом Zlib. Это просто альфа-программа на данный момент с хотя бы одной ошибкой синтаксического анализа, но если у вас есть интерес к этому, я придаю ему больше приоритета.

Надеюсь, это поможет!