aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDax Bondye <beckwithdylan@gmail.com>2018-02-24 02:10:01 +0800
committerDax Bondye <beckwithdylan@gmail.com>2018-02-27 11:32:55 +0800
commite34d367593ccc1d5b7456dfc171473997a645eb6 (patch)
tree23dd988e05e0cdf132aa22c6638be5e801b21d5f
parent2ac49b3c2d10eb43deb716cdf75ae48cd64840f8 (diff)
downloaddexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar.gz
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar.bz2
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar.lz
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar.xz
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar.zst
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.zip
Multiline output parameters and return statements
-rw-r--r--docs/style-guide.rst48
1 files changed, 47 insertions, 1 deletions
diff --git a/docs/style-guide.rst b/docs/style-guide.rst
index 9249f3e1..533c4be5 100644
--- a/docs/style-guide.rst
+++ b/docs/style-guide.rst
@@ -112,7 +112,9 @@ No::
}
}
-Maximum Line Length
+.. _maximum_line_length:
+
+Maximum Line Length
===================
Keeping lines under the `PEP 8 recommendation <https://www.python.org/dev/peps/pep-0008/#maximum-line-length>`_ of 79 (or 99)
@@ -650,6 +652,50 @@ No::
doSomething();
}
+Multiline output parameters and return statements should follow the same style recommended for wrapping long lines found in the :ref:`Maximum Line Length <maximum_line_length>` section.
+
+Yes::
+
+ function thisFunctionNameIsReallyLong(
+ address a,
+ address b,
+ address c
+ )
+ public
+ returns (
+ address someAddressName,
+ uint256 LongArgument,
+ uint256 Argument
+ )
+ {
+ doSomething()
+
+ return (
+ veryLongReturnArg1,
+ veryLongReturnArg2,
+ veryLongReturnArg3
+ );
+ }
+
+No::
+
+ function thisFunctionNameIsReallyLong(
+ address a,
+ address b,
+ address c
+ )
+ public
+ returns (address someAddressName,
+ uint256 LongArgument,
+ uint256 Argument)
+ {
+ doSomething()
+
+ return (veryLongReturnArg1,
+ veryLongReturnArg1,
+ veryLongReturnArg1);
+ }
+
For constructor functions on inherited contracts whose bases require arguments,
it is recommended to drop the base constructors onto new lines in the same
manner as modifiers if the function declaration is long or hard to read.