You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
The text was updated successfully, but these errors were encountered: