Инструмент 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. Это просто альфа-программа на данный момент с хотя бы одной ошибкой синтаксического анализа, но если у вас есть интерес к этому, я придаю ему больше приоритета.
Надеюсь, это поможет!