Checkstyle se queja de lo siguiente:¿El paréntesis debe colocarse siempre alrededor del operador ternario?
return (null == a ? a : new A());
y dice que los parens son innecesarias.
Si bien la declaración ciertamente funciona bien sin ellos, parece mucho más fácil de leer con ellos --- presente de otra manera como lo estoy leyendo tiendo a ver:
return null
primero y luego tener que hacer una pausa para considere el
== a ? a : new A();
parte restante, ya que mi cerebro ya ha pasado por un camino.
Además, tiendo a hacer lo mismo siempre que Veo un operador ternario, a menos que esté agrupado en parens.
Entonces, ¿debería ser el estándar de facto el parenteral de todo el ternario? ¿Hay alguna razón para no ponerlos allí?
Para mí también es más legible con los parens. Tengo un ejemplo como var thing = something.prop1.method2() ....? x: y. Leyendo lo primero que esperaba era algo. Prop1.method2 iba a ser lo que inicializara mi var. Si hubiesen parés ... habría sospechado de que se utilizara un operador ternario. – user420667