Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Estructura interna de funciones #4

Open
dato opened this issue Oct 16, 2020 · 0 comments
Open

Estructura interna de funciones #4

dato opened this issue Oct 16, 2020 · 0 comments

Comments

@dato
Copy link
Owner

dato commented Oct 16, 2020

En materias anteriores se le dio mucha importancia a no repetir código, aunando todas las copias en una única función común con los argumentos apropiados.

En esta materia queremos practicar que el ese código sea
simple, legible y conciso, pues cuanto menos código haya en una función,
y más simple y fácil de entender sea, más probable es que no albergue errores
tras revisarlo (o corregirlo).

Estas tres cualidades —sencillez, legibilidad y brevedad— están muy relacionadas pero, a veces, en conflicto (esto es, empujan en direcciones contrapuestas o contradictorias). Gran parte de lo que se debe practicar es encontrar el mejor equilibrio.

Como ejemplo completo, se ofrece a continuación una función inventada contrato_vencido(), y se proporcionan cinco ejemplos de implementación, de los cuales una entrega aprobable usaría la tercera o la cuarta versión.¹

(¹) La cuarta versión sería, en mi opinión, una excelente resolución para esta materia. La quinta versión también está muy bien, y elicita un debate entre cuál de las dos es más legible. La segunda versión es de la que queremos aprender a alejarnos.

Enlace al ejemplo: https://github.com/dato/i/blob/862a451/4/contrato.c#L26-L131

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant