Estoy acostumbrado a delimitar las declaraciones de un punto y coma de Java, así que, naturalmente, también lo hago en código Scala. También siento que el código es más fácil de leer, porque es evidente dónde termina una declaración y comienza otra. Pero muchas veces cuando publico un fragmento de código Scala en SO, el código se edita solo para eliminar los puntos y comas.
- ¿Debo usar punto y coma o no? ¿Hay alguna guía "oficial" o estilo de codificación?
- ¿Hay casos en los que se requieren punto y coma, de lo contrario, el código es ambiguo?
coding-style
scala
Petr Pudlák
fuente
fuente
Respuestas:
No existe una forma oficialmente "correcta" de hacerlo, pero la mayoría de los practicantes omiten el punto y coma siempre que pueden (razón por la cual muchas personas eliminan los puntos y coma por reflejo).
El lenguaje se esfuerza mucho para hacerte olvidar la necesidad de terminar las declaraciones. Desafortunadamente, no tiene mucho éxito, por lo que hay varias situaciones complejas en las que los puntos y comas, o un conjunto adicional de paréntesis, o "pistas" similares son necesarias para evitar semánticas no deseadas. Tales situaciones son casi tan raras que normalmente no tiene que pensar en ellas. Las opiniones difieren sobre si esto significa que debe puntuar defensivamente (eso es lo que creo) o nunca puntuar hasta que tenga problemas (eso es lo que piensa la mayoría de los usuarios). En última instancia, se trata de si te autoidentificas como un renegado o un ciudadano modelo.
fuente
¿Cuánto quieres entender los idiomas que usas? ¿Quieres jugar a sus puntos fuertes o no? La sintaxis de Scala fomenta un código claro y conciso; Los pocos casos extremos en los que aprovechar esto causa problemas para el analizador Scala son instructivos (es decir, aprende más sobre Scala encontrando y aprendiendo cómo evitarlos) y reparándolos gradualmente (por ejemplo, notación de sufijo ). El uso defensivo del punto y coma puede significar que nunca tendrá que aprender sobre estos problemas, pero ¿realmente lo ve como algo bueno? Las soluciones para estos problemas generalmente tienen otras implicaciones, pero perderá estas posibilidades.
Otra consideración es que, como admite Kilian, la mayoría de los desarrolladores de Scala omiten los punto y coma por defecto. ¿Cómo esperas trabajar con el código de otras personas si evitas usar Scala idiomáticamente? Lo encontrarás mucho más difícil de lo necesario.
No puedo enfatizar lo suficiente que estas características del analizador Scala fueron elegidas para fomentar un código limpio, reutilizable y funcional (en el sentido de fp). Tome la sintaxis del operador infijo como ejemplo; alienta a los desarrolladores a proporcionar clases con métodos simples y de un solo propósito que componen bien juntos. La biblioteca de colección de Scala muestra cuán hermosamente puede funcionar. Los desarrolladores de Java con formación clásica que adopten esto tenderán a desarrollar mejores hábitos y nuevas formas de pensar acerca de su código. Los que se adhieren a todos esos puntos y corchetes familiares se lo perderán. Sostengo que esto también es cierto para aquellos demasiado tímidos para abandonar el punto y coma.
fuente