[Spice-devel] [PATCH spice-server v3] style: Update style to include some C++ element

Christophe de Dinechin christophe.de.dinechin at gmail.com
Thu Feb 8 14:27:22 UTC 2018



> On 8 Feb 2018, at 15:16, Lukáš Hrázký <lhrazky at redhat.com> wrote:
> 
> On Thu, 2018-02-08 at 14:03 +0000, Frediano Ziglio wrote:
>> This style is used by other SPICE projects like spice-streaming-agent.
>> See discussion "Coding style and naming conventions for C++" at
>> https://lists.freedesktop.org/archives/spice-devel/2018-January/041562.html.
>> 
>> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
>> ---
>> docs/spice_style.txt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 52 insertions(+)
>> 
>> Changes in v3:
>> - fix commit message grammar.
>> 
>> Changes in v2:
>> - more details for namespace usages;
>> - specify C++ dialect;
>> - fix class indentation.
>> diff --git a/docs/spice_style.txt b/docs/spice_style.txt
>> index f5d13642..29c1756f 100644
>> --- a/docs/spice_style.txt
>> +++ b/docs/spice_style.txt
>> @@ -380,3 +380,55 @@ Also in source (no header) files you must include `config.h` at the beginning so
>> 
>> #include "spice_server.h"
>> ----
>> +
>> +C++
>> +---
>> +C\++ follows C style if not specified otherwise.
> 
> Sorry, one more grammar improvement:
> "C\++ style follows the C style"
> 
>> +The C+\+11 dialect is assumed by default. No attempts will be made to
>> +restrict the code to older variants of C+\+.
>> +For compatibility reasons don't use more recent C++ dialects.

I notice you have C++, C\++ and C+\+ within a few lines from one another. Not sure why. I thought you needed to escape + only if at the beginning of a line.


>> +
>> +Method names
>> +~~~~~~~~~~~~
>> +
>> +Method names should use lower case and separate words with
>> +underscores.
>> +
>> +
>> +Namespaces
>> +~~~~~~~~~~
>> +
>> +Namespaces should use lower case and separate words with underscores.
>> +Namespace blocks should not increase indentation.
>> +Namespaces can be nested. Namespace closing brackets for nested
>> +namespaces can be placed together on the same line, but for
>> +readability reasons the closure should specify the namespace with a
>> +comment.
>> +
>> +[source,cpp]
>> +----
>> +namespace spice {
>> +namespace streaming_agent {
>> +
>> +class ClassInsideNamespace {
>> +...
>> +};
>> +
>> +}} // namespace spice::streaming_agent
>> +----
>> +
>> +The `using namespace` construct should never be used in headers. It should
>> +be used sparingly in source files, and only within the body of short
>> +functions.
>> +
>> +Preferred alternatives to `using namespace` include:
>> +
>> +* using declarations
>> ++
>> +[source,cpp]
>> +using spice::streaming_agent::some_class;
>> ++
>> +* namespace aliases
>> ++
>> +[source,cpp]
>> +namespace ssa = spice::streaming_agent;
> 
> Let's get it in, further improvements welcome.
> 
> Acked-by: Lukáš Hrázký <lhrazky at redhat.com>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel



More information about the Spice-devel mailing list