Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added an unedited todo list

For more items on the TODO list, please see C++ Coding Standard Development Guidelines.

These rules need professional editing:

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+unedited,-void,+rule

These rules should be preserved:

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+preserve,-void,+rule

These rules should be updated:

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+update,-void,+rule

These rules should be deleted:

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+delete,-void,+rule

These rules are covered by C and do not require a C++ rule:

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+straight-c,-void,+rule

These rules have notes associated with them:

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+notes,-void,+rule

Incomplete pages in C++ use their own the incomplete-cpp tag.

Completed pages should get a 'review' tag so that people review them.

Add to the tag. Pages with hidden notes in them use the notes tag.
But C++ standard rules rules that were copied from C and not updated are marked with exportable-c++.

Update forward/back/next links

The Arrays section rules need to include info wrt STL vectorsthe incomplete-cpp tag.
C++ rules that are accurate, but need their sample code updated (from C) are tagged with the update-code tag.

...

Update references to C (eg C99) to references to C++

Under 'Implmeentation-Specific Details', test compliance with various C++ compilers (update from C compilers)

...

Pages should have tags to indicate the status of their corresponding checker in Compass Rose:

Tag

Meaning

rose-complete

ROSE catches all violations

rose-partial

ROSE catches some violations

rose-possible

ROSE could catch some or all violations, but doesn't yet.

rose-gcc

ROSE doesn't catch violations, but will soon, GCC catches violations

unenforceable

These rules can't be checked automatically.

rose-nonapplicable

These rules could be checked automatically in theory, but not by ROSE.

rose-na-macros

ROSE could check these rules if it recognized macro usage.

rose-na-exptypes

ROSE could check these rules if it recognized derived types in expressions, such as size_t.

rose-na-multiple-files

ROSE could check these rules if it operated on multiple files at once.

rose-false-positive

ROSE could enforce this rule, but could not avoid catching some false positives.

At this point, all rules should have one of these tags. That is, they should be completely or partially checked by ROSE, or they should be marked 'rose-possible', in that we will try to check them with ROSE, or they should have one of the nonapplicable tags indicating we don't think they can be checked with ROSE.

...

There are some rules in other standards that might make good C++ rules. They are tagged exportable-c++. Port to C++ those rules that are truly applicable.

...

review -> review + review-one -> review + review-two -> No tags
significant changes -> review or incompleteMake sure code examples illustrate valid C++ practices (except when illustrating a particular bad example)

...