Scala Language Best Practices


Prefer vals, immutable objects, and methods without side effects. Reach for them first. Use vars, mutable objects, and methods with side effects when you have a specific need and justification for them.

-- Programming in Scala, by Odersky, Spoon, and Venners

There are more example and guideline in this presentation by Odersky.