Add Coding conventions section in CodingStyle file

Add section about string manipulation
Moved some of the existing conventions into the new section:
 - variable declarations
 - text strings
 - UI text style

Update CONTRIBUTING.md with references to CodingStyle file

Signed-off-by: Jeremie Guichard <djebrest@gmail.com>
This commit is contained in:
Jeremie Guichard 2018-04-10 09:08:46 +02:00 committed by Dirk Hohndel
parent 5d96d4af0c
commit 65c91e833c
2 changed files with 25 additions and 3 deletions

View file

@ -75,6 +75,8 @@ Here is a (non exhaustive) list of Areas that can be used:
* Printing
* Profile
In order to make reviews simpler and have contributions merged faster in the code base, please follow Subsurface project's coding style and coding conventions described in the [CodingStyle][11] file.
[1]: http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
[2]: http://freenode.net/
[3]: https://www.transifex.com/
@ -85,3 +87,5 @@ Here is a (non exhaustive) list of Areas that can be used:
[8]: https://subsurface-divelog.org/building/
[9]: https://gerrit-review.googlesource.com/Documentation/user-signedoffby.html
[10]: https://subsurface-divelog.org/wp-content/uploads/2011/10/Screenshot-gitk-subsurface-1.png "Example with gitk"
[11]: https://github.com/Subsurface-divelog/subsurface/blob/master/CodingStyle
[12]: https://github.com/Subsurface-divelog/subsurface/blob/master/CONVENTIONS.md

View file

@ -1,9 +1,9 @@
Coding Style
============
Here are some of the basics that we are trying to enforce for our coding
style. The existing code (as of the commit that adds these lines) is not
yet fully consistent to these rules, but following these rules will make
Here are some of the basics that we are trying to enforce for our coding style
and conventions. The existing code (as of the commit that adds these lines) is
not yet fully consistent to these rules, but following these rules will make
sure that no one yells at you about your patches.
We have a script that can be used to reformat code to be reasonably close
@ -106,6 +106,9 @@ Basic rules
}
}
Coding conventions
==================
- variable declarations
in C code we really like them to be at the beginning of a code block,
not interspersed in the middle.
@ -143,6 +146,21 @@ Basic rules
in use within Subsurface e.g. Cylinder vs. Tank.
- string manipulation
-- user interface
In UI part of the code use of QString methods is preferred, see this pretty
good guide in QString documentation:
http://doc.qt.io/qt-5/qstring.html#manipulating-string-data
-- core components
In the core part of the code, C-string should be used.
C-string manipulation is not always straightforward specifically when
it comes to memory allocation, a set of helper functions has been developed
to help with this. Documentation and usage examples can be found in
core/membuffer.h file:
https://github.com/Subsurface-divelog/subsurface/blob/master/core/membuffer.h
Sample Settings
===============