style rails instalar guide code ruby coding-style choice

rails - ruby rubocop



¿Dejas los paréntesis dentro o fuera en Ruby? (9)

Cuando sea posible ... ¿dejas paréntesis dentro o fuera en Ruby?


Cualquiera que sea más legible por lo general.

Pero siempre uso paréntesis cuando estoy anidando llamadas de función dentro de los parámetros de otros


De los elementos del estilo de Ruby

Ruby le permite dejar fuera el paréntesis, en general, resista esta tentación.

Los paréntesis hacen que el código sea más fácil de seguir. El estilo general de Ruby es usarlos, excepto en los siguientes casos:

  • Siempre deje fuera paréntesis vacíos
  • Los paréntesis pueden quedar fuera de un único comando que está rodeado por delimitadores ERb - los marcadores ERb se aseguran de que el código aún sea legible
  • Una línea que es un solo comando y un único argumento simple se puede escribir sin paréntesis. Personalmente, descubro que hago esto cada vez menos, pero sigue siendo perfectamente legible. Tiendo a no gustarme las líneas individuales en el código ruby ​​regular que tienen múltiples argumentos y sin paréntesis.
  • Muchos lenguajes específicos de dominio basados ​​en Ruby (como Rake) no usan paréntesis para preservar un lenguaje más natural en sus declaraciones.

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 DSL-ish cosas, 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.


Si ha estado programando durante mucho tiempo, probablemente tenga un "picor" para agregar paréntesis, y en muchos casos hay buenas razones para esto.

Sin embargo, el código es más fácil para los ojos, en mi opinión, y todavía no me he encontrado con un problema: si vas a necesitar paréntesis, lo sabrás de antemano antes de tener que ejecutar el script de depuración.


Si te refieres a llamadas a función, siempre pongo 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.


Supongo que hago las dos cosas, pero definitivamente las guardo si aumentan la legibilidad y evita declaraciones que parecen ambiguas.


Tiendo a dejarlos fuera cuando hago aserciones como assert_equal. Tal vez es para hacerlo como un lenguaje específico del dominio.


Utilizo parens como comentarios para ayudar al futuro yo ... que es probable que tenga menos células cerebrales que el yo actual :-)

Nada peor que mirar un código que escribió hace 2 años y malinterpretarlo, de modo que rompe algo al modificarlo.

Si los paréntesis me ahorrarán en el futuro unos minutos (u horas) en el futuro, incluiré tantos como sea necesario para que la declaración sea clara.

-- John