Wiki » History » Version 9
Version 8 (Krystian Heberlein, 07/26/2018 11:27 AM) → Version 9/15 (Krystian Heberlein, 07/26/2018 11:36 AM)
h1. vDC Wiki
h2. Definition of Done - vDC
h3. Feature and task
# MR added to comment
# No new defects in cppcheck and Coverity
# No new defects in Unit tests
# Unit test added (if possible)
# Developer test done (dev feed) - by other engineer that was implementing
# Spent hours are filled in
h3. Defect
# MR added to comment
# Comment added - cause and solution
# No new defects in Cppcheck and Coverity
# No new defects in Unit tests
# Unit test added (if possible)
# Developer test done (dev feed, different browsers) - by other engineer that was implementing
# Spent hours are filled in
h2. Definition of Done - vDC UI
h3. Feature and task
# MR added to comment
# No new defects in Linting
# No new defects in Unit tests
# Unit test added (if reasonable)
# Developer test done (dev feed) - by other engineer that was implementing
# Spent hours are filled in
h3. Defect
# MR added to comment
# Comment added - cause and solution
# No new defects in Linting
# No new defects in Unit tests
# Unit test added (if reasonable)
# Developer test done (dev feed, different browsers) - by other engineer that was implementing
# Spent hours are filled in
h2. Code review checklist
- block formatting as follows:
<pre> **************************************************************************
if () ; // one line in the same line is allowed
if ((wa1) && (wa2)) {
} else if () {
}
for (i; i < 0; ++i) { // other loops in the same form
}
switch () {
case 1: //brackets if needed, one line is acceptable
case 2:
default: //required
}
void Myclass::func(const string& aParam1, int aParam2, Myclass::func(aParam1, apAram2, auto... aParams)
{
//using aParams...
}
</pre>
**************************************************************************
- class declaration:
**************************************************************************
* - class member initializations in class declaration if possible
* - no 'using namespace' in header
* - two lines separation between method definitions in source file
<pre>
/*
==========================================================================
Class name // separator to be used in header and source file
==========================================================================
*/
class A // or struct {
using inherited
public:
ctor // one line definition is allowed in header
dtor // one line definition is allowed in header
overridden overriden
enum class EE; // declaration, but definition out of class
methods // one line definition is allowed in header
protected:
overriden
methods
private:
overriden
methods
protected:
static const
class members
private:
static const
class members
};
enum class A::EE {
A, // camel case
};
**************************************************************************
</pre>
* - (static) constexpr over static const
* - std over boost
* - unique over shared
* - #pragma once over ifdef
* - reference over pointers
* - raw string literals over special signs
* - streams over formatted formated string
* - enum class over enum
* - interface over wrappers and (ugh!) friends (yuck!)
* - using over typedef
*
**************************************************************************
- static const AAA; // all caps
* - class MyClass // starts with a capital letter + camel case
* - method, function void myFunction() // starts with a small letter + camel case
* - function args void myFunction(string aParam) // starts wit small 'a' + camel case
* - namespace block without indentation
* - ifdef without indentation
* - comment on closing bracket braket for namespace or #endif
* - multiline comment block if comment is multiline
* interface class with 'I' prefix // IMyInterface
* class member with 'm' prefix // mMyClassMember
* pointer with 'Ptr' suffix // mMyClassMemberPtr / myPointerInMethodPtr / aMyPointerParamPtr
**************************************************************************
h2. Definition of Done - vDC
h3. Feature and task
# MR added to comment
# No new defects in cppcheck and Coverity
# No new defects in Unit tests
# Unit test added (if possible)
# Developer test done (dev feed) - by other engineer that was implementing
# Spent hours are filled in
h3. Defect
# MR added to comment
# Comment added - cause and solution
# No new defects in Cppcheck and Coverity
# No new defects in Unit tests
# Unit test added (if possible)
# Developer test done (dev feed, different browsers) - by other engineer that was implementing
# Spent hours are filled in
h2. Definition of Done - vDC UI
h3. Feature and task
# MR added to comment
# No new defects in Linting
# No new defects in Unit tests
# Unit test added (if reasonable)
# Developer test done (dev feed) - by other engineer that was implementing
# Spent hours are filled in
h3. Defect
# MR added to comment
# Comment added - cause and solution
# No new defects in Linting
# No new defects in Unit tests
# Unit test added (if reasonable)
# Developer test done (dev feed, different browsers) - by other engineer that was implementing
# Spent hours are filled in
h2. Code review checklist
- block formatting as follows:
<pre> **************************************************************************
if () ; // one line in the same line is allowed
if ((wa1) && (wa2)) {
} else if () {
}
for (i; i < 0; ++i) { // other loops in the same form
}
switch () {
case 1: //brackets if needed, one line is acceptable
case 2:
default: //required
}
void Myclass::func(const string& aParam1, int aParam2, Myclass::func(aParam1, apAram2, auto... aParams)
{
//using aParams...
}
</pre>
**************************************************************************
- class declaration:
**************************************************************************
* - class member initializations in class declaration if possible
* - no 'using namespace' in header
* - two lines separation between method definitions in source file
<pre>
/*
==========================================================================
Class name // separator to be used in header and source file
==========================================================================
*/
class A // or struct {
using inherited
public:
ctor // one line definition is allowed in header
dtor // one line definition is allowed in header
overridden overriden
enum class EE; // declaration, but definition out of class
methods // one line definition is allowed in header
protected:
overriden
methods
private:
overriden
methods
protected:
static const
class members
private:
static const
class members
};
enum class A::EE {
A, // camel case
};
**************************************************************************
</pre>
* - (static) constexpr over static const
* - std over boost
* - unique over shared
* - #pragma once over ifdef
* - reference over pointers
* - raw string literals over special signs
* - streams over formatted formated string
* - enum class over enum
* - interface over wrappers and (ugh!) friends (yuck!)
* - using over typedef
*
**************************************************************************
- static const AAA; // all caps
* - class MyClass // starts with a capital letter + camel case
* - method, function void myFunction() // starts with a small letter + camel case
* - function args void myFunction(string aParam) // starts wit small 'a' + camel case
* - namespace block without indentation
* - ifdef without indentation
* - comment on closing bracket braket for namespace or #endif
* - multiline comment block if comment is multiline
* interface class with 'I' prefix // IMyInterface
* class member with 'm' prefix // mMyClassMember
* pointer with 'Ptr' suffix // mMyClassMemberPtr / myPointerInMethodPtr / aMyPointerParamPtr
**************************************************************************