DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
// Correct:
if (true) {
println("Wow!")
}
// Correct:
if (true) statement1 else statement2
// Wrong:
if (true)
println("Wow!")
|
Return Types
Always specify the return types of methods where possible. If a method has no return type, specify Unit instead in accordance with the Scala style guide. Return types for variables are not required unless the definition involves huge code blocks with potentially ambiguous return values.
| Code Block | ||||
|---|---|---|---|---|
| ||||
// Correct:
def getSize(partitionId: String): Long = { ... }
def compute(partitionId: String): Unit = { ... }
// Wrong:
def getSize(partitionId: String) = { ... }
def compute(partitionId: String) = { ... }
def compute(partitionId: String) { ... }
// Correct:
val name = "black-sheep"
val path: Option[String] =
try {
Option(names)
.map { ns => ns.split(",") }
.flatMap { ns => ns.filter(_.nonEmpty).headOption }
.map { n => "prefix" + n + "suffix" }
.flatMap { n => if (n.hashCode % 3 == 0) Some(n + n) else None }
} catch {
case e: SomeSpecialException =>
computePath(names)
} |
If in Doubt
If you're not sure about the right style for something, try to follow the style of the existing codebase. Look at whether there are other examples in the code that use your feature. Feel free to ask on the dev mailing list as well.