Guidelines and HOWTOs/Development

From KDE Community Wiki

Best practices

UnitTests
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)

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
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.
Git
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.
Subversion
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.

Valgrind
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
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.
Eclipse
It is possible to develop C++, Qt and KDE software using Eclipse as your IDE. Further details can be found on the Eclipse page.
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...