13 – Use clazy

Table of Contents

Use clazy to avoid Qt API pitfalls

Goals

Write good Qt code. Avoid the use of problematic Qt APIs.

Description

While Qt prides itself on APIs that are consistent and simple to use - there are pitfalls. Parts of an API might turn out to be dangerous in practice or they may yield sub-optimal performance. clazy is a static code analysis tool built on to off the llcm/clang compiler infrastructure. It will issues warnings for Qt specific issues. See https://github.com/KDE/clazy for details and a list of the kind of warnings reported by clazy.

Environment

C++/Qt

Platform

Either QtCreator >= 4.6, standalone or upstream clang (note that xcode-clang and android-clang do not work)

Implementation effort

Very minimal (Qt Creator), small when already using upstream clang, potentially high if a project needs to be ported to upstream llvm/clang first.

Applicability

All projects using C++ Qt.

Caveats

  • Clazy implements several warnings levels. The higher levels can produce false positives.

See also

Implementation hints

Usage via Qt Creator is probably the easiest way to get started. Integration into a CI system is probably best done via the standalone version of clazy in combination with a compilation database.


Leave a Reply

Your email address will not be published. Required fields are marked *

Share on facebook
Share on twitter
Share on linkedin
Share on reddit
Share on xing
Share on email
Share on stumbleupon
Share on whatsapp
Share on pocket