Wiki » History » Version 8

« Previous - Version 8/15 (diff) - Next » - Current version
Krystian Heberlein, 07/26/2018 11:27 AM


vDC Wiki

Definition of Done - vDC

Feature and task

  1. MR added to comment
  2. No new defects in cppcheck and Coverity
  3. No new defects in Unit tests
  4. Unit test added (if possible)
  5. Developer test done (dev feed) - by other engineer that was implementing
  6. Spent hours are filled in

Defect

  1. MR added to comment
  2. Comment added - cause and solution
  3. No new defects in Cppcheck and Coverity
  4. No new defects in Unit tests
  5. Unit test added (if possible)
  6. Developer test done (dev feed, different browsers) - by other engineer that was implementing
  7. Spent hours are filled in

Definition of Done - vDC UI

Feature and task

  1. MR added to comment
  2. No new defects in Linting
  3. No new defects in Unit tests
  4. Unit test added (if reasonable)
  5. Developer test done (dev feed) - by other engineer that was implementing
  6. Spent hours are filled in

Defect

  1. MR added to comment
  2. Comment added - cause and solution
  3. No new defects in Linting
  4. No new defects in Unit tests
  5. Unit test added (if reasonable)
  6. Developer test done (dev feed, different browsers) - by other engineer that was implementing
  7. Spent hours are filled in

Code review checklist

- block formatting as follows: ******************************************************************
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(aParam1, apAram2, auto... aParams) {
//using aParams...
}


- class declaration:

- class member initializations in class declaration if possible
- no 'using namespace' in header
- two lines separation between method definitions in source file

/* ========================================================================== ==========================================================================
*/

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
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
};

******************************************************************
- (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 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 braket for namespace or #endif
- multiline comment block if comment is multiline