Saltar al contenido

Estilos y convenciones de codificación de Scala?

Solución:

“Si el método crece, se vuelve muy doloroso leer el código”. Creo que parte de la respuesta es que los métodos no deberían crecer. El estilo de programación funcional es tener muchos métodos pequeños. El método de cálculo ya está en el lado grande.

Para responder a las preguntas más generales sobre las guías de estilo para la programación de Scala: Aquí hay un ejemplo representativo.

Aquí hay un enlace a la Guía de estilo de Scala.


La sección Curly Braces dice:

Tirantes rizados:

Las llaves deben omitirse en los casos en que la estructura de control representa una operación puramente funcional y todas las ramas de la estructura de control (relevantes para if / else) son expresiones de una sola línea. Recuerde las siguientes pautas:

  • if: omita las llaves si tiene una cláusula else. De lo contrario, rodee el contenido con llaves incluso si el contenido es solo una línea.

  • while: nunca omita las llaves (while no se puede usar de una manera puramente funcional).

  • para: omita las llaves si tiene una cláusula de rendimiento. De lo contrario, rodee el contenido con llaves, incluso si el contenido es solo una línea.

  • case: omita las llaves si la expresión case aparece en una sola línea. De lo contrario, utilice llaves para mayor claridad (aunque el analizador no las requiera).

    val news = if (foo)
      goodNews()
    else
      badNews()
    
    if (foo) {
      println("foo was true")
    }
    
    news match {
      case "good" => println("Good news!")
      case "bad" => println("Bad news!")
    }
    

Ojalá la gente siguiera esta guía de estilo 🙁


Tenga en cuenta que no estoy de acuerdo con “Omitir frenillos si if tiene un else cláusula “. Preferiría ver el código así:

def calculate(s: String): Int = {
  if (cache.contains(s)) {
    cache(s)
  } else {
    val acc = new ChecksumAccumulator
    for (c <- s) {
      acc.add(c.toByte)
    }
    val cs = acc.checksum()
    cache += (s -> cs)
    cs
  }
}

La guía oficial está en https://docs.scala-lang.org/style/ (adoptado de ahora eliminado http://davetron5000.github.io/scala-style/index.html, ver Web Archive).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *