Hace 7 años | Por mr_b a medium.com
Publicado hace 7 años por mr_b a medium.com

En una reciente entrevista a Linus Torvalds, el creador de Linux, este hizo un apunte sobre programar con “buen gusto”. ¿Buen gusto? El entrevistador le pidió algunos detalles al respecto y Linus presentó un trozo de código. Código que era un ejemplo de programación de “mal gusto” para poder hacer un contraste inicial. Entonces, ¿qué es programar con “buen gusto”?

Comentarios

angelitoMagno

Resumen: Los (if) son el mal.

Bueno, yo diría que el mal es el exceso de anidación.

meneandro

#3 #4 En principio lo importante no es un if más o un if menos (aunque quitar if reduce el número de saltos que tiene que realizar una máquina y por lo tanto un código más lineal, predecible y eficientemente ejecutado), sino eliminar el tener que tratar casos específicos y puntuales en un problema en la medida de lo posible. Si puedes tratarlo todo de una sola vez y sin hacer distinciones evitas hacer trabajo extra (o sea, si tu objetivo es medir la altura de una persona quítales a todos los zapatos y sombreros, no hagas distinciones por casos de deportivas, zapatos de tacón pequeño, zapatos de plataforma, chanclas, con sombrero de copa, con fedora, con pamela, etc. para corregir la altura luego, por poner un ejemplo). Si además lo consigues con un código legible, mejor que mejor, aunque no es lo que prima en este caso.

empanadilla.cosmica

#4 No es la anidación, es el tener que tratar varios casos distintos. Hay que hacer trabajo previo para intentar tratar simplemente una caso. En el ejemplo anterior de la lista enlazada sería la diferenciqa entre modificar en una lista el puntero al siguiente elemento o bien modificar el puntero que apunta al primer elemento ne la lista.

Siempre hay que modificar un puntero, por lo que primero haces magia para tener en tu variable el elemento a modificar y luego modificas siempre igual, apuntando al siguiente elemento en luagar de tener que evaluar de que caso se trata.

ur_quan_master

Nadie se ha fijado que si el objeto no esta en la lista el wile peta cuando se acaban los elementos?

D

#1 Bueno, es sólo un ejemplo, una pequeña función de lo que se supone sería un programa. Hasta podríamos decir que es "pseudocódigo", aunque sea C válido, porque tampoco pretende nada más que mostrar la idea que el autor quiere explicar.

Además, es código de Torvalds. Sólo pon eso ya tienes que shut the fuck up

D

Entonces aquí lo importante es reducir un if para evitar errores porque cuanto más código más errores hay. Entendí bien? Yo sigo teniendo la duda de si debería primar un código más entendible. El código 1 es mucho más entendible que el 2 al menos para mi que no se de c