Scala part 4: Don’t miss these rules
October 18, 2017

Hi everyone,
Today, I write the last part of Scala seriese. It includes somethings basic about Scala coding rules from this site http://docs.scala-lang.org/style
Indentation
Indentation should follow the “2-space convention”. Thus, instead of indenting like this:
// right!
class Foo {
def bar = ..
}
Line Wrapping
80 characters max per line
val result = 1 + 2 + 3 + 4 + 5 + 6 +
7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 +
15 + 16 + 17 + 18 + 19 + 20
Method
// right!
val myOnerousAndLongFieldNameWithNoRealPoint =
foo(
someVeryLongFieldName,
andAnotherVeryLongFieldName,
"this is a string",
3.1415)
// wrong!
val myOnerousAndLongFieldNameWithNoRealPoint = foo(someVeryLongFieldName,
andAnotherVeryLongFieldName,
"this is a string",
3.1415)
Classes/Traits
class MyFairLady
Objects
object ast {
sealed trait Expr
case class Plus(e1: Expr, e2: Expr) extends Expr
...
}
object inc {
def apply(x: Int): Int = x + 1
}
Packages
// wrong!
package coolness
// right!
package com.novell.coolness
// right, for package object com.novell.coolness
package com.novell
/**
* Provides classes related to coolness
*/
package object coolness {
}
Methods
def myFairMethod = ...
Constants, Values, Variable and Methods
object Container {
val MyConstant = ...
}
val myValue = ...
def myMethod = ...
var myVariable
Special Note on Brevity
def add(a: Int, b: Int) = a + b
Declarations
class Person(name: String, age: Int) {
}
class Person(
name: String,
age: Int,
birthdate: Date,
astrologicalSign: String,
shoeSize: Int,
favoriteColor: java.awt.Color) {
def firstMethod: Foo = ...
}

