aboutsummaryrefslogtreecommitdiffstats
path: root/docs/style-guide.rst
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 /docs/style-guide.rst
parent2ac49b3c2d10eb43deb716cdf75ae48cd64840f8 (diff)
downloaddexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar.gz
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.tar.zst
dexon-solidity-e34d367593ccc1d5b7456dfc171473997a645eb6.zip
Multiline output parameters and return statements
Diffstat (limited to 'docs/style-guide.rst')
-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.