consideremos el siguiente ejemplo artificial:cuestión estilística, relativa a regresar vacío
void HandleThat() { ... }
void HandleThis()
{
if (That) return HandleThat();
...
}
Este código funciona muy bien, y estoy bastante seguro de que es de las especificaciones válidas, pero (quizás por mi cuenta) consideran este estilo inusual , ya que la llamada parece devolver el resultado de la función, a pesar del hecho de que ambas funciones son prototipo para ser nulas.
Por lo general, yo esperaría a ver:
if (That) {HandleThat(); return;}
cual, me siento, no deja ninguna ambigüedad en cuanto a lo que está pasando.
SO comunidad, ¿puedo obtener su opinión sobre si el estilo de codificación de devolución de datos es confuso o problemático? Tiene la sensación de un modismo; ¿Debería usar esto o evitarlo?
En general, me esforzaré por la claridad y utilizaré el segundo estilo. Por otro lado, hay una pulcritud en la primera forma que me atrae de alguna manera.
En caso de que sea de su interés, mi uso real de esto es rescatar a una clase para padres bajo ciertas circunstancias. Viz: void derivedclass :: f (...) {if (fianza) return parentclass :: f (...); ...} –