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

Me parece una buenísima pregunta. Que no puede tener sino la respuesta de siempre: «depende».

Depende de muchas cosas, de muchos usos y de muchos contextos. En términos generales, lo que yo consideraría un buen script, debe cumplir las siguientes características:

  • Hacer una cosa y hacerla bien, una de las premisas fundamentales y básicas de la filosofía de Unix. Mejor tener varios scripts modularizados y conectados entre sí mediante pipes, que uno solo que haga todo. Esto significa simplicidad y modularidad.
  • Robustez y seguridad por diseño. El script debe tener control de errores posibles, prevención de éstos y capacidad de marcha atrás.
  • Portabilidad e independencia. Evitar el uso de dependencias, como systemd o programas concretos.
  • El código debe ser limpio, brevemente comentado y estructurado.
  • Eficiencia. Usar herramientas correctas para cada necesidad: awk, sed, cut…
4 Me gusta