1. Start Here
    1. Introduction
  2. Guidelines
    1. White Space
    2. Indentation
    3. Line Wrapping
    4. Methods & Side Effects
    5. Code Blocks
    6. Anonymous Code Blocks
    7. Dots versus Spaces
    8. Files
  3. Reference
    1. Scala
    2. Bizo
    3. Official Scala Style Guide
  4. Google Custom Search

Dots vs Spaces [Edit]

  1. Use spaces when passing blocks delimited with curly braces
  2. Use dots for side-effecting methods
  3. Use dots for consecutive accessors
  4. Use spaces to separate pure operations
  5. When in doubt, try to reduce the line noise

Use spaces when passing blocks delimited with curly braces

  // good
  missiles foreach { missile => missile.fire() }
  // not on this planet!
  missiles.foreach { missile => missile.fire() }

Use dots for side-effecting methods

  // good
  missiles.fire()
  // don't even think about it!
  missiles fire()

Use dots for consecutive accessors

  // good
  for (c <- competitors.view.reverse) {
    allocate(c)
  }
  // nope.
  for (c <- competitors.view reverse) {
    allocate(c)
  }
  // what did I tell you about spaces?
  for (c <- competitors view reverse) {
    allocate(c)
  }

Use spaces to separate pure operations

  // good
  val evenlyDistributed = pref.selectors zip distribute(pref.quantity, avails)
  // good
  log.info("Distribution: " + (values mkString "\n"))
  // good
  selectors map getOrCreateNode map { _.available(priority) }
  // wrong:  get is an accessor, not an operation
  customers get selectedId
  // wrong:  available is an accessor
  //         (an operation is verb, not an adjective)
  customers available today

When in doubt, try to reduce the line noise

  // mmm-kay
  overflow -= (exclude map { _.available(priority) } sum)
  // better: slightly less noisy since dots are less noisy than parenthesis
  overflow -= exclude.map { _.available(priority) }.sum