> On 8 Feb 2018, at 15:16, Lukáš Hrázký <lhrazky@xxxxxxxxxx> 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@xxxxxxxxxx> >> --- >> 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@xxxxxxxxxx> > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel