diff options
author | chriseth <chris@ethereum.org> | 2016-12-05 19:48:06 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-05 19:48:06 +0800 |
commit | 34327c5d8ae0cd949bb8848048f520e48c4ee651 (patch) | |
tree | c07ec6c02ac896ad5c726c166f1000ecb11c245c /docs | |
parent | 29edf2f4c90a39e843510a61791b42c6898a045d (diff) | |
parent | 217f33c252e8562a44c683ff1aae9de538ef475b (diff) | |
download | dexon-solidity-34327c5d8ae0cd949bb8848048f520e48c4ee651.tar.gz dexon-solidity-34327c5d8ae0cd949bb8848048f520e48c4ee651.tar.zst dexon-solidity-34327c5d8ae0cd949bb8848048f520e48c4ee651.zip |
Merge pull request #1394 from ethers/patch-1
styleguide: Order of Functions
Diffstat (limited to 'docs')
-rw-r--r-- | docs/style-guide.rst | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/docs/style-guide.rst b/docs/style-guide.rst index 272a1b31..9aae3d7b 100644 --- a/docs/style-guide.rst +++ b/docs/style-guide.rst @@ -150,6 +150,74 @@ No:: ... } +Order of Functions +================== + +Ordering helps readers identify which functions they can call and to find the constructor and fallback definitions easier. + +Functions should be grouped according to their visibility and ordered: + +- constructor +- fallback function (if exists) +- external +- public +- internal +- private + +Within a grouping, place the `constant` functions last. + +Yes:: + + contract A { + function A() { + ... + } + + function() { + ... + } + + // External functions + // ... + + // External functions that are constant + // ... + + // Public functions + // ... + + // Internal functions + // ... + + // Private functions + // ... + } + +No:: + + contract A { + + // External functions + // ... + + // Private functions + // ... + + // Public functions + // ... + + function A() { + ... + } + + function() { + ... + } + + // Internal functions + // ... + } + Whitespace in Expressions ========================= @@ -194,6 +262,19 @@ No:: y = 2; long_variable = 3; +Don't include a whitespace in the fallback function: + +Yes:: + + function() { + ... + } + +No:: + + function () { + ... + } Control Structures ================== |