clazy
This commit is contained in:
parent
ac859dc4ec
commit
36d088e75c
@ -1172,6 +1172,7 @@ https://clang.llvm.org/extra/clang-tidy[Clang Tidy],
|
||||
https://clang-analyzer.llvm.org[Clang Static Analyzer] и
|
||||
https://www.viva64.com/ru/pvs-studio[PVS-Studio].
|
||||
|
||||
[[clazy-check]]
|
||||
==== clazy
|
||||
|
||||
Функция `add_clazy_check` создаёт цели, которые используются
|
||||
@ -1223,6 +1224,52 @@ add_clang_analyze_check(${TRGT} ${TRGT_cpp} ${TRGT_hpp} ${TRGT_moc_hpp})
|
||||
add_pvs_check(${TRGT})
|
||||
----
|
||||
|
||||
=== Автоматическое исправление кода
|
||||
|
||||
|
||||
IMPORTANT: Редактирование кода в автоматическом режиме может приводить
|
||||
к его неработоспособности, хотя это и маловероятно. Перед выполнением
|
||||
действий, приведённых в данном раздела, желательно фиксировать текущее
|
||||
состояние в репозитории или делать резервную копию.
|
||||
|
||||
==== clazy
|
||||
|
||||
Программа clazy может преобразовывать в программах, использующих Qt,
|
||||
подключения сигналов и слотов старого типа, производить замену старых ключевых
|
||||
слов, подставлять оптимизированные способы для инициализации строк,
|
||||
исправлять циклы и передачу аргументов в функции для избежания лишних копирований.
|
||||
|
||||
Для включения автоматического исправления нужно в настройках сборки проекта
|
||||
menu:[Проекты > Настройки сборки] выбрать цель `clazy-check`:
|
||||
|
||||
[.text-center]
|
||||
.Выбор цели
|
||||
image::clazy-fix/clazy1.png[clazyfix1,pdfwidth=70%,scaledwidth=90%,align="center"]
|
||||
|
||||
Затем в перечне опций включить `CMLIB_CLAZY_FIX` и нажать кнопку
|
||||
btn:[Применить изменения]:
|
||||
|
||||
[.text-center]
|
||||
.Разрешение автозамены
|
||||
image::clazy-fix/clazy2.png[clazyfix2,pdfwidth=70%,scaledwidth=90%,align="center"]
|
||||
|
||||
|
||||
Пример проекта, в котором показаны возможности clazy, можно посмотреть
|
||||
https://git.246060.ru/f1x1t/cmlib-example-clazy-fix[здесь]. Содержание
|
||||
изменений, произведённых автоматически, можно увидеть
|
||||
https://git.246060.ru/f1x1t/cmlib-example-clazy-fix/commit/81ed1e72b14f17bac0a39ab41bc3ba0ba2bdcb8e?style=split[здесь].
|
||||
|
||||
Можно сделать копию репозитория и выполнить правки в автоматическом режиме
|
||||
самостоятельно:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
git clone --recursive https://git.246060.ru/f1x1t/cmlib-example-clazy-fix
|
||||
----
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
=== Динамический анализ программы
|
||||
|
||||
|
BIN
wiki/images/clazy-fix/clazy1.png
Normal file
BIN
wiki/images/clazy-fix/clazy1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
wiki/images/clazy-fix/clazy2.png
Normal file
BIN
wiki/images/clazy-fix/clazy2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
Loading…
x
Reference in New Issue
Block a user