Strategic Scala Style: Principle of Least Power
This is full of great advice.  After a brief skim I think I agree with everything except the advice on mutability.<p>Haoyi says &quot;if you are actually modeling something which changes over time, using mutable [variables] is fine&quot;.  I think this is absolutely wrong.  You should even use immutable variables to model things which change over time (after all, almost everything does).  Only use mutable variables when performance means you can&#x27;t get away without them.<p>Other than that the guide is pretty much how I would program (as a Haskell developer, rather than a Scala one).