Merge pull request #1394 from ethers/patch-1

styleguide: Order of Functions
This commit is contained in:
chriseth 2016-12-05 12:48:06 +01:00 committed by GitHub
commit 34327c5d8a

View File

@ -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
==================