ther functions.</li>
  <li>Uses parameters for flexibility/re-use (rather that one-task tool).</li>
  <li>Clear relationship between information in (parameters) and out (return value)</li>
</ul>

<p><strong>Function structure:</strong> An overly long function (say more than 20-30 lines) is unwieldy and should be decomposed into smaller sub-functions.
  If you try to describe the function's purpose and find yourself
    using the word "and" a lot, that probably means the function does too
    many things and