<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Clazy</title><link>https://apps.kde.org/uk/clazy/</link><description> Clazy є додатком до компілятора Clang, який попереджає про порушення правил правильного програмування з використанням Qt.</description><generator>Hugo -- gohugo.io</generator><language>uk</language><atom:link href="https://apps.kde.org/uk/clazy/index.xml" rel="self" type="application/rss+xml"/><item><title>Release 1.17.1 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.17.1</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.17.1</guid><description><p>У цьому випуску виправлено таку ваду:</p><ul><li>fully-qualified-moc-types: виправлено регресію з помилковим спрацьовуванням для типів вказівників/посилань у загальних змінних.</li></ul></description></item><item><title>Release 1.16.1 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.16.1</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.16.1</guid><description><p>Це проміжних випуск для виправлення проблем з інтеграцією QtCreator і</p><p>сумісністю з новими версіями Qt. У цьому випуску реалізовано підтримку версій LLVM 19 і 21.</p><p>У цьому випуску виправлено такі вади:</p><ul><li>Безумовне надсилання діагностичних повідомлень, навіть якщо у них не міститься fixit. Використовується</li><li>для інтеграції з комплексними середовищами розробки, де процес clazy записує файл YAML, у якому містяться</li><li>повідомлення, діапазони та необов'язкові повідомлення щодо виправлення</li><li>Скориговано перевірку readlock-detaching так, щоб вона належно працювала зі змінами у Qt 6.11</li></ul></description></item><item><title>Release 1.17 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.17</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.17</guid><description><p>У цьому випуску виправлено такі вади:</p><ul><li>Виправлено попередження, яке пов'язане з перевіркою non-pod-static, для кожного запису контейнера</li><li>Виправлено помилкове спрацьовування use-arrow-operator-instead-of-data під час приведення значення</li><li>Усунено додавання QVariant до білого списку для detaching-temporary. QVariant::toString надасть QString, який не є від'єднаним.</li><li>У новій версії detaching-temporary належно перевіряє умови, якщо у ланцюжку понад два виклики методів</li><li>Fixit для detaching-temporary/detaching-member надійніші з діапазонами fixit для викликів операторів</li><li>Якщо використано QT_NAMESPACE, clazy належним чином оброблятиме класи Qt, що перебувають у цьому просторі назв</li><li>Виправлено помилковий метод-замінник для QMap::operator[]</li><li>Уможливлено збирання проєкту з LLVM22. Виправлено перевірки qhash-namespace, fully-qualified-moc-types, old-style-connect</li><li>Скориговано перевірку readlock-detaching так, щоб вона належно працювала зі змінами у Qt 6.11</li><li>qstring-ref пересунуто до manuallevel, оскільки вона не сумісна з Qt6</li></ul><p>У цьому випуску додано таку можливість:</p><ul><li>Нові перевірки: - compare-member-check: перевіряє, чи використовують оператори порівняння усі змінні-учасники класу.</li></ul><p>Для збирання тепер потрібен C++20</p><p>Вилучено перевірки портування на qt6-\*</p></description></item><item><title>Release 1.16 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.16</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.16</guid><description><p>У цьому випуску виправлено такі вади:</p><ul><li>unused-result-check: усунено аварійне завершення роботи, якщо не вдасться визначити оголошення методу</li><li>use-chrono-in-qtimer: усунено аварійне завершення роботи при використанні попередньо зібраних заголовків</li><li>qt6-qhash-signature: адаптовано перевірку для використання належнішої логіки для викликів і усунено аварійне завершення роботи у крайніх випадках</li><li>Забезпечено належну роботу clang21 з clazy та видачу того самого номера рядка/літери, що й раніше (невідповідність з викликами операторів)</li><li>non-pod-global-static: виправлено хибне спрацювання з Q_IMPORT_PLUGIN у Qt-6.10</li></ul><p>У цьому випуску додано такі можливості:</p><ul><li>Нарешті clazy може бути інтегровано до clang-tidy — одна команда для керування</li><li>усіма ними! Усі перевірки може бути увімкнено за допомогою "clazy-&lt;назва_перевірки&gt;". Приклад:</li><li>`clazy-qstring-arg,clazy-qfileinfo-exists`, вмикання усіх використаних перевірок</li><li>`clazy-*` також увімкне перевірки вручну. Рекомендуємо точне налаштовування.</li><li>Додаток може бути завантажено за допомогою `-load=ClazyClangTidy.so`, для цього, додаток</li><li>має бути у LD_LIBRARY_PATH. Інакше слід вказувати абсолютний шлях.</li><li>У новій версії isempty-vs-count надаються підказки щодо виправлення для усіх сценаріїв. Також програма повідомлятиме про випадки,</li><li>де довжина порівнюється за допомогою "== 0", "&lt; 1", "&gt; 0" і додає підказки щодо виправлення.</li><li>Перевірки портування qt6-\* тепер вважаються застарілими; їх буде вилучено у наступному випуску clazy</li><li>detaching-temporary і detaching-member надають підказки щодо виправлення для методів, у яких є сталі відповідники</li><li>NOLINT/NOLINTNEXTLINE/NOLINTBEGIN/NOLINTEND усі працюють у clazy, як</li><li>належить. Окремі перевірки clazy можна вимкнути за допомогою префікса "clazy-".</li><li>Приклад: "NOLINTNEXTLINE(clazy-qfileinfo-exists, clazy-qstring-arg)"</li></ul></description></item><item><title>Release 1.15 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.15</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.15</guid><description><p>У цьому випуску виправлено такі вади:</p><ul><li>install-event-filter: усунено аварійне завершення роботи, якщо немає дочірнього методу вказаної глибини. BUG: 464372</li><li>fully-qualified-moc-types: виправлено неможливість обробки enum/класу enum. BUG: 423780</li><li>Усунено аварійне завершення роботи у qstring-comparison-to-implicit-char. BUG: 502458</li><li>Усунено аварійне завершення роботи при виявленні у fully-qualified-moc-types сигналів за допомогою виразів подібних до «std::bitset&lt;int(8)&gt;»</li><li>Усунено аварійне завершення роботи у qvariant-template-instantiation</li></ul><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>readlock-detaching</li><li>Оновлено мінімальні вимоги до Clang/LLVM до 19</li><li>`clazy-standalone --version` містить версію git (результат виконання `git describe`), якщо це внесок без мітки</li><li>Додано пропущені методи до перевірок для від'єднання тимчасових списків або карт або списків чи карт учасників</li></ul></description></item><item><title>Release 1.14 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.14</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.14</guid><description><p>Можна вимкнути попередження clazy для наступного рядка, приклад: clazy:exclude-next-line=check1,check2</p><p>Підтримка компіляції з Clang 20</p><p>збільшення докладності деяких попереджень</p><p>перевірки `function-args-by-value` і `function-args-by-ref`: до повідомлення попередження додано назву функції і назву параметра</p><p>перевірки `unused-non-trivial-variable` і `non-pod-global-static`: до повідомлення попередження додано назву змінної</p><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>qbytearray-conversion-to-c-style</li></ul></description></item><item><title>Release 1.13 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.13</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.13</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>used-qunused-variable</li></ul><p>У цьому випуску виправлено такі вади:</p><ul><li>У новій версії перевірка qstring-arg додає повідомлення щодо виправлення</li><li>Виправлено unused-non-trivial-variable так, щоб перевірка не попереджала, якщо встановлено [[maybe_unused]]</li><li>Виправлено qstring-arg для сумісності з Qt 6.9</li><li>Виправлено фіктивне спрацювання fully-qualified-moc-types для модифікаторів const загальних аргументів</li><li>Притлумлено фіктивні спрацювання попередження non-pod-global-static для ініціалізації модуля QML</li><li>Виправлено фіктивне спрацювання function-args-by-value, яке може спричинити помилку компіляції</li><li>у конструкторах копіювання, операторах призначення та перевірках рівності</li><li>Виправлено фіктивне спрацювання для `Q_EMIT(someSignal())`</li></ul></description></item><item><title>Release 1.12 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.12</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.12</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>qt-keyword-emit</li><li>sanitize-inline-keyword</li></ul></description></item><item><title>Release 1.11 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.11</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.11</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>use-arrow-operator-instead-of-data</li><li>use-static-qregularexpression</li><li>unexpected-flag-enumerator-value</li><li>Вилучено перевірку inefficient-qlist (виправлено у Qt6)</li></ul></description></item><item><title>Release 1.10 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.10</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.10</guid><description><p>У цьому випуску виправлено такі вади:</p><ul><li>Потребує C++17</li><li>Виправлення вад:</li><li>Виправлено -Wclazy-lambda-in-connect false-positive</li><li>Виправлено аварійне завершення роботи у copyable-polymorphic, якщо було увімкнено PCH</li></ul></description></item><item><title>Release 1.9 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.9</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.9</guid><description><p>У цьому випуску виправлено такі вади:</p><ul><li>Виправлено уповільнення clazy у версії 1.8. Пришвидшення може сягати чотирьох разів.</li><li>range-loop було розділено на range-loop-detach і range-loop-reference</li><li>Виправлено фіктивні спрацювання -Wclazy-connect-non-signal</li></ul></description></item><item><title>Release 1.8 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.8</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.8</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>qt6-qhash-signature</li><li>qt6-header-fixes</li><li>qt6-deprecated-api-fixes</li><li>use-chrono-in-qtimer</li><li>порада щодо виправлення для missing-qobject-macro</li></ul></description></item><item><title>Release 1.7 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.7</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.7</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>перевантажений сигнал</li><li>некоректні підписи JNI</li><li>qstring-comparison-to-implicit-char</li><li>qt6-qlatin1string-to-u</li><li>heap-allocated-small-trivial-type: менше фіктивних спрацювань</li></ul><p>У цьому випуску виправлено такі вади:</p><ul><li>connect-non-signal: виправлено випадок, коли не знайдено pmf</li><li>qstring-arg попереджає про використання QLatin1String::arg(int), оскільки там викликається QChar</li></ul><p>Збирання самого clazy пришвидшено на 30%</p></description></item><item><title>Release 1.6 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.6</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.6</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>heap-allocated-small-trivial-type</li><li>signal-with-return-value</li><li>qproperty-type-mismatch, внесок Jean-Michaël Celerier</li></ul><p>Вилучено level3. Усі перевірки level3 перенесено на ручний рівень. Немає сенсу вмикати їх усі.</p><p>Рішення про кожну з них слід приймати зважено.</p><p>Збільшено мінімальну версію LLVM до 5.0</p><p>Нова версія Clazy не переписує файли безпосередньо, щоб уникнути конфліктів з паралельними викликами змін того самого заголовка.</p><p>Нова версія Clazy експортує дані до файла yaml з замінами, які буде застосовано з clang-apply-replacements.</p><p>Так само поводяться інші інструменти clang.</p><p>З нової версії способом вмикання перезапису коду є: -Xclang -plugin-arg-clazy -Xclang export-fixes для clang</p><p>або -export-fixes=somefile.yaml для clazy-standalone</p><p>Усі інші аргументи підказок щодо виправлення аргументів та змінних середовища було вимкнено</p><p>Дякуємо Christian Gagneraud за внесок із засобом експортування fixit до yaml!</p><p>У цьому випуску виправлено такі вади:</p><ul><li>Виправлено регресію з LLVM 9.0</li><li>Переписано інфраструктуру підказок щодо виправлення</li></ul></description></item><item><title>Release 1.5 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.5</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.5</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>ifndef-define-typo</li><li>lowercase-qml-type-name</li><li>qrequiredresult-candidates</li><li>Нові повідомлення про виправлення:</li><li>У новій версії range-loop передбачено підтримку додавання пропущених ref та const-ref</li><li>У новій версії range-loop передбачено підтримку додавання qAsConst()</li><li>У новій версії function-args-by-ref передбачено підтримку додавання пропущених ref і const-ref (експеримент)</li><li>Впроваджено змінну середовища CLAZY_FIXIT_SUFFIX</li></ul><p>Вилучено підтримку незрозумілого -DCLAZY_BUILD_UTILS_LIB для спрощення CMakeLists.txt</p><p>Додаток clazy перейменовано з ClangLazy.so на ClazyPlugin.so</p><p>У новій версії fully-qualified-moc-types попереджає і про повернуті значення слота/викликаної функції. Ці значення мають бути повноцінними для QML.</p><p>У цьому випуску виправлено таку ваду:</p><ul><li>Усунено аварійне завершення роботи (оцінка clang) у raw-environment-function</li></ul></description></item><item><title>Release 1.4 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.4</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.4</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>connect-by-name</li><li>skipped-base-method</li><li>qstring-varargs</li><li>fully-qualified-moc-types</li><li>qt-keywords з включеними підказками щодо виправлення</li><li>qhash-with-char-pointer-key</li><li>wrong-qevent-cast</li><li>static-pmf</li><li>raw-environment-function</li><li>empty-qstringliteral</li><li>У новій версії auto-unexpected-qstringbuilder попереджає і про лямбди, що повертають QStringBuilder</li></ul><p>оптимізації швидкодії</p><p>До clazy-standalone додано параметр -header-filter=&lt;формальний_вираз&gt;. Попередження буде показано лише для заголовків, що відповідають формальному виразу,</p><p>окрім файла .cpp з модуля перекладу, фільтрування якого ніколи не виконуватиметься.</p><p>До clazy-standalone додано параметр -ignore-dirs=&lt;формальний_вираз&gt; та його еквівалент — змінну середовища CLAZY_IGNORE_DIRS.</p><p>Додано змінну середовища CLAZY_HEADER_FILTER, яка додає наведені вище функціональні можливості до clazy і clazy-standalone</p><p>До unused-non-trivial-variable додано параметр unused-non-trivial-variable-no-whitelist</p><p>У unused-non-trivial-variable реалізовано підтримку user-blacklist і user-whitelist</p><p>У новій версії container-inside-loop передбачено перевірку вручну замість level2</p><p>HiddenLevel було перейменовано на ManualLevel</p><p>У новій версії connect-3arg-lambda попереджає про передавання лямбди до QTimer::singleShot() або QMenu::addAction()</p><p>без об'єкта контексту</p><p>У новій версії old-style-connect попереджає про QMenu::addAction() і QMessageBox::open()</p></description></item><item><title>Release 1.3 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.3</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.3</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>thread-with-slots</li><li>connect-3arg-lambda</li><li>qproperty-without-notify</li><li>virtual-signal</li><li>overridden-signal</li><li>qhash-namespace</li><li>const-signal-or-slot</li><li>lambda-unique-connection</li></ul><p>У новій версії missing-qobject-macro є перевіркою level2, а не level1. Через це можна навмисно пропускати Q_OBJECT.</p><p>Додано параметр -only-qt, яка забезпечить раннє clazy-вимикання для файлів, відмінних від Qt. Для цього Qt-файл визначено щоразу, коли передається -DQT_CORE_LIB, що зазвичай буває в більшості систем збирання.</p><p>Додано параметр -qt-developer, під час збирання Qt за допомогою clazy будуть враховані певні рекомендації для Qt, яких зараз небагато, але список розширюватиметься.</p></description></item><item><title>Release 1.2 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.2</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.2</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Нові перевірки:</li><li>install-event-filter</li><li>qcolor-from-literal</li><li>strict-iterators</li><li>connect-not-normalized</li></ul><p>У цьому випуску виправлено такі вади:</p><ul><li>Виконуваний файл clazy-standalone. Надає змогу запускати clazy на основі бази даних компіляції JSON, замість додатка. У clang-tidy не передбачено підтримки завантаження зовнішніх модулів (https://github.com/llvm/llvm-project/issues/32086), тому це гарне рішення.</li><li>Режим qt-compat. Надає змогу вимкнути специфічні для Qt5 перевірки шляхом передавання параметрів -Xclang -plugin-arg-clazy -Xclang qt4-compat</li><li>У новій версії returning-data-from-temporary перевіряє на тимчасові приведення QByteArrays до char* при поверненні даних</li><li>У новій версії returning-data-from-temporary перевіряє надання значень, а не лише інструкції повернення даних</li><li>У новій версії unused-non-trivial-variable попереджає про невикористані QList, QVector і багато інших типів</li><li>У новій версії передбачено підтримку перевірок на основі ASTMatchers</li><li>Відкинуто підтримку clang 3.7 через несумісності з початковим кодом ASTMatchers.</li><li>Скористайтеся clazy v1.1 для отримання підтримки clang &gt;= 3.6</li><li>У новій версії типово не збирається clazylib.so, збирається лише додаток (ClangLazy.so). Передайте -DCLAZY_BUILD_UTILS_LIB=ON, щоб увімкнути бібліотеку utils, якщо ви розробляєте інструменти за допомогою зручних функцій clazy, чого ви, ймовірно, не робите.</li><li>Було вилучено параметр CLAZY_INSTALL_NO_HEADERS. Встановіть або бібліотеку utils та заголовки, або нічого. Типово не буде встановлено нічого, окрім додатка та сторінок довідки (man).</li></ul></description></item><item><title>Release 1.1 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.1</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.1</guid><description><p>У цьому випуску додано такі можливості:</p><ul><li>Підтримка macOS і Windows</li><li>Нові перевірки:</li><li>child-event-qobject-cast</li><li>ctor-missing-parent-argument</li><li>returning-data-from-temporary</li><li>qt-macros</li><li>base-class-event</li><li>connect-non-signal</li><li>incorrect-emit</li><li>tr-non-literal</li><li>Виправлення для такого:</li><li>clang 4.0</li><li>Qt 5.9</li><li>Нотатки:</li><li>Пришвидшено на 60%</li><li>Виправлено багато хибнопозитивних спрацювань</li></ul></description></item><item><title>Release 1.0 of Clazy</title><link>https://apps.kde.org/uk/clazy/#1.0</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#1.0</guid><description><p>We released a new version of Clazy!</p></description></item><item><title>Release 0.0.1 of Clazy</title><link>https://apps.kde.org/uk/clazy/#0.0.1</link><pubDate/><guid>https://apps.kde.org/uk/clazy/#0.0.1</guid><description>
Перший випуск</description></item></channel></rss>