¿Qué es lo que hace bueno a un script?

Lo del título.

Lo veo sobre todo en la filosofía de UNIX sintetizada en la famosa frase “hacer una cosa y hacerla bien“, ¿pero qué significa “hacerlo bien” en este contexto?

Me queda claro que un principio es la simplicidad, que entiendo como economía de procesos. También, evidentemente, que el programa haga su trabajo sin errores. ¿Pero hay algo más?

1 me gusta

a veces es dificil definir esto, por ejemplo puede que se refiera a que haga un buen uso de la memoria, en lenguajes como c, si no liveras la memoria, se queda ahi ocupando espacio. Muchos piensan en esto como un sacrilegio, en otros casos es que un solo algoritmo busca el elemento, ordena, elimina e inserta, en esos caso se prefiere que se use una funcion para cada cado (es lo que mencionas de hacer solo una cosa) realmente es dificil definir que algo sea bueno o no. Pero muchas veces que logre cumplir el objetivo ya se considera bueno, puede que le falte optimizacion pero se puede seguir trabajando en eso, realmente es dificil que de una sola vez implementes algo que use la minina memoria posible, que sea O1 y que ademas sea muy elegante. Yo solo pensar que si la implementacion funciona y se puede entender facil ya es algo bueno

1 me gusta

mientras funcione, sea comodo de usar, y siga la regla de “hacer una cosa y hacerla bien” ya es suficiente en mi opinion para que sea bueno.

Entonces:

  • Efectividad.
  • Economía de recursos (por lo de la memoria).
  • Simplicidad: economía de procesos.
  • Modularidad (?): que ocupe solo una función, pero sea integrable con otros programas.
  • Comodidad de uso.
  • Elegancia, como una extensión de la simplicidad.

Edit:

  • Seguridad: que no tenga vulnerabilidades evidentes o críticas.
  • Mantenibilidad: facilidad con la que un código puede ser comprendido, modificado, corregido o extendido.
3 Me gusta

Para mi la definición de hacerlo bien es simplemente:

Rapido, facil y SEGURO

Cosas como ser eficiente, modular etc creo que son consecuencia de hacer 1 sola cosa (y bien obviamente).

4 Me gusta

Claro, pero la pregunta iba a desarrollar esas ideas porque son demasiado sintéticas. ¿Qué significa que sea seguro? ¿qué hace rápido un programa? Y más en general ¿cómo valoran los programadores que un código es mejor que otro?

Con seguro me refiero a que no tenga vulnerabilidades pendejas, rapido me refiero a que no este inflado con código innecesario que lo haga pesado y lento, y valorar un código mejor que otro es relativamente subjetivo, a nivel general diria que un codigo es mejor si cumple todo lo dicho.

1 me gusta