Skip to content

Commit

Permalink
Update Tips and Tricks on structs initialization. (#3626)
Browse files Browse the repository at this point in the history
* Update Tips and Tricks on structs initialization.
  • Loading branch information
lastperson authored and chriseth committed Mar 1, 2018
1 parent 2c82f74 commit a0d0060
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion docs/miscellaneous.rst
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,10 @@ Tips and Tricks
* Make your state variables public - the compiler will create :ref:`getters <visibility-and-getters>` for you automatically.
* 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)``.
* Initialise storage structs with a single assignment: ``x = MyStruct({a: 1, b: 2});``
* Initialize storage structs with a single assignment: ``x = MyStruct({a: 1, b: 2});``

.. note::
If the storage struct has tightly packed properties, initialize it with separate assignments: ``x.a = 1; x.b = 2;``. In this way it will be easier for the optimizer to update storage in one go, thus making assignment cheaper.

**********
Cheatsheet
Expand Down

0 comments on commit a0d0060

Please sign in to comment.