Guidelines and HOWTOs/Development: Difference between revisions

From KDE Community Wiki
(Redirect to Get_Involved/development (after migrating all useful information there))
 
(13 intermediate revisions by 9 users not shown)
Line 1: Line 1:
== Best practices ==
#REDIRECT [[Get_Involved/development]]
; UnitTests
: A guide to correctly do your [[Guidelines and HOWTOs/UnitTests|unit tests]]. ''Because you never push code which is not unit tested!''
: -- Tutorial by [mailto:[email protected] Brad Hards] that describes how to write unit tests using the QTestLib framework.
 
; Detect code errors
: [[Guidelines and HOWTOs/Code_Checking| Semi-automatic way to detect code errors]] based on Krazy. (related: EBN)
 
; API Documentation
: [[Guidelines and HOWTOs/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
: [[Guidelines_and_HOWTOs/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 [[Infrastructure/Git| 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 [http://projects.kde.org/ KDE projects directory].  It will be helpful to follow the [[Guidelines_and_HOWTOs/Git|git how to]].
 
; Subversion
: KDE still uses [[Infrastructure/Subversion|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. [[Guidelines_and_HOWTOs/Debugging| More here...]]
 
; Valgrind
: [[Guidelines_and_HOWTOs/Debugging/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)
: [http://sources.redhat.com/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 [[Guidelines_and_HOWTOs/Debugging/Debugging with GDB|Debugging with GDB]].
 
; KDbg and DDD
: [http://www.kdbg.org/ KDbg] and [http://www.gnu.org/software/ddd/ 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 [[Windows|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 [[Guidelines_and_HOWTOs/Using_Qt_Creator|Using Qt Creator]].
 
; KDevelop
: [http://www.kdevelop.org 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 [http://userbase.kde.org/KDevelop4 wiki].
 
; Eclipse
: It is possible to develop C++, Qt and KDE software using Eclipse as your IDE. Further details can be found on the [[Guidelines_and_HOWTOs/Using Eclipse|Eclipse page]].
 
; CLion
: [https://www.jetbrains.com/clion/ 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. [[Guidelines_and_HOWTOs/Using_CLion|more info...]]
 
; MS Visual Studio® Express IDE (Windows only)
: [http://www.microsoft.com/exPress/ 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. [[Projects/KDE_on_Windows/Issues/MSVC|more info...]]

Latest revision as of 16:14, 19 December 2018