Cuando sea posible ... ¿dejas paréntesis dentro o fuera en Ruby?¿Dejas paréntesis dentro o fuera en Ruby?
Respuesta
Supongo que hago las dos cosas, pero definitivamente las guardo si esto aumenta la legibilidad y evita afirmaciones que parecen ambiguas.
Cualquiera que sea más legible por lo general.
Pero siempre usar paréntesis cuando estoy función de anidación llama dentro de los parámetros de otros queridos
Si se refiere a las llamadas de función, siempre pongo entre paréntesis porque siempre es más fácil de leer. Si quieres decir en condiciones (si, mientras) solo pongo paréntesis cuando son necesarios.
Intento dejarlos fuera, si es posible. Creo que hace que el código sea más fácil de leer (en términos generales).
Los dejo cuando estoy haciendo cosas DSL-ish, como t.column o has_many en rieles. El resto del tiempo, generalmente se reduce a la claridad, y es probable que sea una división pareja.
Desde el Elements of Ruby Style
Rubí le permite dejar de lado entre paréntesis, en general, resistir esta tentación .
Los paréntesis hacen que el código sea más fácil para seguir. Rubí estilo general es utilizar ellos, excepto en los siguientes casos:
- siempre dejan fuera paréntesis vacíos
- Los paréntesis pueden eliminarse de un solo comando que está rodeado por ERb delimitadores - ERB los marcadores hacen que asegure que el código todavía es legible
- Una línea que es un solo comando y un único argumento simple puede ser escrita sin paréntesis. Personalmente, me parece que hago esto menos y menos, pero todavía es perfectamente legible. Tiendo a no gustarme las líneas simples en código ruby regular que tienen argumentos múltiples y sin paréntesis.
- Muchos lenguajes específicos de dominio basados en Ruby (como Rake) no usan el paréntesis para conservar un lenguaje más natural en sus declaraciones.
Tiendo a dejarlos fuera cuando hago aserciones como assert_equal. Tal vez es para hacerlo como un lenguaje específico del dominio.
utilizo como parens comentarios para ayudar al futuro mí ... que es probable que tenga menos células que la corriente me :-)
Nada peor que buscar en algún código que escribió hace 2 años y malentendidos esto, para que rompas algo mientras lo modificas.
Si los pares me ahorrarán unos minutos (u horas) en el futuro, incluiré todos los que sean necesarios para que la declaración sea clara.
- John
+1 "Uso parens como comentarios para ayudar al futuro yo ... que es probable que tenga menos células cerebrales que el yo actual :-)" Eso es TAN verdadero, y exactamente por qué lo hago. También es misericordioso para cualquier persona que me siga y deba usar mi código. En resumen, es algo de mantenimiento. –
Si usted ha estado programando desde hace mucho tiempo, es probable que tenga una "comezón" para añadir paréntesis, y en muchos casos hay buenas razones para ello.
El código es más fácil para los ojos, aunque en mi opinión, y no he tenido ningún problema todavía - si va a necesitar paréntesis, lo sabrá de antemano antes de que tenga que toparse con el Script de depuración.
"Mi maestro me dice que es inevitable". Es, y puede ser difícil de depurar. Recomiendo usarlos para evitar la asignación ambigua de parámetros. –
Downvoted como "más fácil para los ojos" es IMO una razón pésima para dejar fuera paréntesis alrededor de los argumentos de la función. –
hablando con la multitud no parens me encontré con este problema el otro día 'si owner.is_a? cosa // funcionó bien' 'if owner.is_a? cosa && x> 1 // no está bien' solo he estado aprendiendo ruby por un par de semanas y donde trabajo usa la menor cantidad de caracteres posible y si vienes de cualquier otro idioma, hay una curva de aprendizaje para saber cuando pasas un hash implícitamente, una serie de símbolos, pasando a símbolos para una función ... no soy fanático. –
- 1. Seleccionar texto entre paréntesis fuera del paréntesis en Vim
- 2. Emacs ruby-mode, sangría salvajemente dentro de paréntesis?
- 3. Espaciado entre paréntesis en Ruby
- 4. ¿Cuándo dejas de encapsular?
- 5. Tirantes: [Brackets], (paréntesis) & {Curlies} en Ruby & Rails
- 6. ¿Cuánto JavaScript dejas que genere Rails?
- 7. ¿Las afirmaciones de Ruby 'require' van dentro o fuera de la definición de la clase?
- 8. Cómo saltar en paréntesis en VIM
- 9. generador de documentación PHPDoc dentro o fuera de Eclipse?
- 10. ¿Separar una cadena en Ruby, ignorando el contenido de paréntesis?
- 11. notificar oyente dentro o fuera de la sincronización interna
- 12. SVG <script> elemento: por dentro o por fuera?
- 13. Declaración de función dentro o fuera de la clase
- 14. ¿Deberías declarar enumeraciones dentro o fuera de una clase?
- 15. Python convert style: dentro o fuera de función?
- 16. funciones dentro o fuera de jquery document ready
- 17. Si las declaraciones dentro o fuera de los bucles?
- 18. ¿Cómo dividir una cadena por comas posicionadas fuera de paréntesis?
- 19. Retirar un par de paréntesis, corchetes o llaves en Vim
- 20. Eliminar texto entre paréntesis (paréntesis entre paréntesis prob)
- 21. ¿Cómo elimino el paréntesis de una cadena en Ruby?
- 22. Obtener contenido entre paréntesis del objeto String en Ruby
- 23. Extracto de información dentro de todos los paréntesis en R
- 24. Ruby: Rendimiento dentro de enumerable
- 25. Ruby (fuera de los rieles) Hosting
- 26. ¿qué significa el siguiente error: java.sql.SQLException falta dentro o fuera de parámetros en el índice
- 27. C# Regex coincide con cualquier cosa dentro de paréntesis
- 28. ¿Es posible autocompletar paréntesis o comillas en emacs?
- 29. Detectando cuando está dentro/fuera del hilo principal en Xamarin.iOS
- 30. RAII en Ruby (O, Cómo administrar recursos en Ruby)
Estoy de acuerdo. En php, por ejemplo, puedo detectar rápidamente una var por el prefijo $. En javascript puedo reconfigurar una función por el paréntesis(). En Ruby, la diferencia entre var o func (sin paréntesis) no siempre es fácil de ver. –