Fixes in the misc section.

This commit is contained in:
chriseth 2015-12-21 16:54:32 +01:00
parent 6c6295b74e
commit 8fe89455b3
2 changed files with 44 additions and 40 deletions

View File

@ -124,6 +124,8 @@ This means that cyclic creation dependencies are impossible.
.. index:: ! visibility, external, public, private, internal
.. _visibility-and-accessors:
************************
Visibility and Accessors
************************
@ -232,6 +234,8 @@ is no good way to provide the key for the mapping.
.. index:: ! function;modifier
.. _modifiers:
******************
Function Modifiers
******************

View File

@ -117,10 +117,10 @@ Tips and Tricks
* Use `delete` on arrays to delete all its elements.
* Use shorter types for struct elements and sort them such that short types are grouped together. This can lower the gas costs as multiple SSTORE operations might be combined into a single (SSTORE costs 5000 or 20000 gas, so this is what you want to optimise). Use the gas price estimator (with optimiser enabled) to check!
* Make your state variables public - the compiler will create [getters](#accessor-functions) for you for free.
* If you end up checking conditions on input or state a lot at the beginning of your functions, try using [modifiers](#function-modifiers)
* Make your state variables public - the compiler will create :ref:`getters <visibility-and-accessors>` for you for free.
* If you end up checking conditions on input or state a lot at the beginning of your functions, try using :ref:`modifiers`.
* If your contract has a function called `send` but you want to use the built-in send-function, use `address(contractVariable).send(amount)`.
* If you want your contracts to receive ether when called via `send`, you have to implement the [fallback function](#fallback-functions).
* If you do **not** want your contracts to receive ether when called via `send`, you can add a throwing fallback function `function() { throw; }`.
* Initialise storage structs with a single assignment: `x = MyStruct({a: 1, b: 2});`
********