Estoy usando el siguiente comando para probar mi código perl:¿Hay algún módulo que me falte para ayudarme a escribir un código mejor?
perl -MB :: Lint :: StrictOO -MO = Lint, all, oo -M-circular :: require -M-indirect-advertencias: : method -Mwarnings :: inusitado -c $ file
En un sistema con una versión perl de menos de 5.10 también estoy usando uninit.
También estoy usando Perl :: Critic y Perl :: Tidy y he configurado los archivos rc apropiados a mi gusto.
Estos módulos han hecho un gran trabajo al ayudarme a romper algunos malos hábitos que aprendí cuando aprendí perl por primera vez.
¿Hay más módulos o pragmas que me devuelvan a la normalidad cuando lo estropeo?
Usando pruebas, y la familia de módulos Test :: * y algunos buenos libros han sido señalados. Esta nueva información me ha llevado a reconsiderar algunas suposiciones sobre la relación entre las pruebas y el desarrollo de habilidades del código. Todos son apreciados y ya están siendo investigados y puestos en uso.
Me parece que estas son dos partes separadas de un todo. 'perl -c', Perl :: Critic y Perl :: Tidy ayudan durante el proceso de escritura del código y antes de la ejecución del código. Devel :: Cover, Devel :: NYTProf y las pruebas suceden durante y después de la ejecución del código.
El buen desarrollo dicta un proceso iterativo, por lo que las pruebas se ejecutarán y el código se desarrollará una y otra vez, pero aún tenemos esta separación.
Me parece que el foco en las respuestas ha estado en el 'durante y después de la ejecución' del código. De nuevo, esto es muy apreciado. ¿Puedo asumir que tengo la parte de 'escritura y pre-ejecución' bastante bien entonces? Al menos, en lo que concierne a los pragmas, módulos y utilidades.
Puede que sea hora de aprender a moverse Prueba :: Más si aún no lo ha hecho. Entrenarse para escribir pruebas antes de su código objetivo lo alentará a codificar en trozos más pequeños, más manejables y, a menudo, más generales. Y probar su código tiene que conducir a un mejor código, si una definición de mejor es menos problemática. Muchos de los módulos Test :: * proporcionan controles adicionales sin mucho esfuerzo. – DavidO
Uso mucho la serie de módulos Test :: ... No había considerado las pruebas como una forma de mejorar mis habilidades de codificación. Utilizo DistZilla siempre que sea posible y eso hace que el uso de pruebas sea muy fácil, lo cual aprovecho. Parece que tengo que volver atrás y comenzar a evaluar los módulos Test :: bajo una nueva luz. – harleypig
También hay algunos libros realmente buenos por ahí. Perl de orden superior Perl moderno. (Ambos están disponibles en línea gratis, legítimamente.) Hay muchos otros, pero esos dos son buenos libros para aprender un acercamiento iluminado a Perl. – DavidO