Difference between revisions of "Guidelines and HOWTOs/Development"

(Add a short description of CLion IDE.)
Line 23: Line 23:
== Debugging and Analysis ==
== Debugging and Analysis ==
A list of tools which are used to analyze a program. This includes debuggers and profilers, for instance.
A list of tools which are used to analyze a program. This includes debuggers and profilers, for instance. [[Guidelines_and_HOWTOs/Debugging| More here...]]
; Valgrind
; Valgrind

Revision as of 19:00, 1 June 2016

Best practices

A guide to correctly do your unit tests. Because you never push code which is not unit tested!
-- Tutorial by Brad Hards that describes how to write unit tests using the QTestLib framework.
Detect code errors
Semi-automatic way to detect code errors based on Krazy. (related: EBN)
API Documentation
How to write good API documentation (related: https://api.kde.org).

Core Tools

These are the tools that are absolutely required to build and develop KDE software. On Linux, they will typically be provided by your distribution. On other platforms, packages should normally be available, often for download directly from the home page for the tool. Of course, the standard development tools, such as a C/C++ compiler and some sort of text editor, are also required.

CMake is KDE's build system of choice. Once you have this, you can use it to configure a software project for building, and that process will tell you of any other requirements you are missing.
Most KDE projects are developed in Git, and so you will need it to get the source code in the first place. You can find the relevant Git URLs at the KDE projects directory. It will be helpful to follow the git how to.
KDE still uses Subversion for some things, notably translations.

Debugging and Analysis

A list of tools which are used to analyze a program. This includes debuggers and profilers, for instance. More here...

Valgrind helps to find memory leaks and uninitialized memory blocks. Additional features are a profiler and more. Valgrind is one of the most important development tools!
The GNU Project Debugger (GDB)
GDB helps in debugging source code. As GDB evolved over time it is recommended to use version 6.x. Graphical frontends are available (see below). See also the debugging tutorial Debugging with GDB.
KDbg and DDD
KDbg and DDD are graphical user interfaces to GDB, which are able to set breakpoints, step through the code etc.
MS Windows tools (Process Explorer, Console, WinDbg, DebugView...)
More info on the KDE on Windows page.

Integrated Development Environment (IDE)

Qt Creator
With Qt Creator it is easy to write new KDE based programs and to integrate existing ones into an IDE. Further details can be found in the tutorial Using Qt Creator.
KDevelop is an IDE for developing KDE and Qt C++ applications. It includes a an integrated debugger, a powerful editor with syntax highlighting, a Project wizard to create applications from templates, the automake/autoconf gunk, and even the class documentation. Further details can also be found in the wiki.
It is possible to develop C++, Qt and KDE software using Eclipse as your IDE. Further details can be found on the Eclipse page.
CLion is a cross-platform IDE from JetBrains. It uses CMake as a build tool, so you can easily continue developing any project which is built with it. CLion has powerful auto-complete, code-generation and refactoring features. It also provides an integrated debugger (GDB or LLDB) and an embedded terminal. more info...
MS Visual Studio® Express IDE (Windows only)
Visual C++® Express is the free version of the Microsoft Visual Studio compiler from Microsoft, which is officially supported by Nokia. It is a choice for compiling Qt and KDE applications on Windows. more info...

Content is available under Creative Commons License SA 4.0 unless otherwise noted.