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://clang-analyzer.llvm.org[Clang Static Analyzer] и
|
||||||
https://www.viva64.com/ru/pvs-studio[PVS-Studio].
|
https://www.viva64.com/ru/pvs-studio[PVS-Studio].
|
||||||
|
|
||||||
|
[[clazy-check]]
|
||||||
==== clazy
|
==== clazy
|
||||||
|
|
||||||
Функция `add_clazy_check` создаёт цели, которые используются
|
Функция `add_clazy_check` создаёт цели, которые используются
|
||||||
@ -1223,6 +1224,52 @@ add_clang_analyze_check(${TRGT} ${TRGT_cpp} ${TRGT_hpp} ${TRGT_moc_hpp})
|
|||||||
add_pvs_check(${TRGT})
|
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