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.