A number of projects I have been involved in replace the "namespace
IMP {" and "} // namesapce IMP" sorts of lines with
"IMP_BEGIN_NAMESPACE" and "IMP_END_NAMESPACE" or
"IMP_DOMINO_BEGIN_NAMESPACE" "IMP_DOMINO_END_NAMESPACE". Such a change
has several advantages:
- the close braces are automatically labelled
- you aren't constantly fighting the editor's desire to indent because
you are in a nested block
- IMP_DOMINO is once conceptual unit, and having it on two separate
lines just conceals that
- we can have macros for internal namespaces so we have standard names
for that
- it is a pretty simple matter to write a sed script which changes
most of the existing code to use these macros