aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-04-20 07:07:05 +0800
committerGitHub <noreply@github.com>2018-04-20 07:07:05 +0800
commit20289609853e30e62969def1702de2a7795244ba (patch)
tree235463fa29c17c03ea043950c2b4a14d25806c8b
parent27d7990684dcd16486f107b61f8d6540530a2200 (diff)
parent89c0f481941dfe22c77281f916865f00f8807810 (diff)
downloaddexon-solidity-20289609853e30e62969def1702de2a7795244ba.tar.gz
dexon-solidity-20289609853e30e62969def1702de2a7795244ba.tar.zst
dexon-solidity-20289609853e30e62969def1702de2a7795244ba.zip
Merge pull request #3946 from ethereum/chriseth-patch-1
Clarify namespaces in coding style.
-rw-r--r--CODING_STYLE.md19
1 files changed, 13 insertions, 6 deletions
diff --git a/CODING_STYLE.md b/CODING_STYLE.md
index 3244466b..f36503d0 100644
--- a/CODING_STYLE.md
+++ b/CODING_STYLE.md
@@ -49,21 +49,28 @@ cout << "some very long string that contains completely irrelevant text that tal
## 1. Namespaces
1. No `using namespace` declarations in header files.
-2. All symbols should be declared in a namespace except for final applications.
-3. Use anonymous namespaces for helpers whose scope is a cpp file only.
-4. Preprocessor symbols should be prefixed with the namespace in all-caps and an underscore.
+2. Use `using namespace std;` in cpp files, but avoid importing namespaces from boost and others.
+3. All symbols should be declared in a namespace except for final applications.
+4. Use anonymous namespaces for helpers whose scope is a cpp file only.
+5. Preprocessor symbols should be prefixed with the namespace in all-caps and an underscore.
-Yes:
+Only in the header:
```cpp
#include <cassert>
+namespace myNamespace
+{
std::tuple<float, float> meanAndSigma(std::vector<float> const& _v);
+}
```
-No:
+Only in the cpp file:
```cpp
#include <cassert>
using namespace std;
-tuple<float, float> meanAndSigma(vector<float> const& _v);
+tuple<float, float> myNamespace::meanAndSigma(vector<float> const& _v)
+{
+ // ...
+}
```
## 2. Preprocessor