¿Cómo puedo aprender a escribir programas bien estructurados en Perl? [cerrado]

StackOverflow https://stackoverflow.com/questions/410359

  •  03-07-2019
  •  | 
  •  

Pregunta

Empecé a aprender Perl, pero la mayor parte de mi experiencia de programación anterior ha sido en lenguajes que enfatizan la programación orientada a objetos, como C # y Java. Todos los ejemplos de Perl que he encontrado tienden a ser programas largos de una sola función y encuentro mi código de auto escritura de la misma manera. ¿Hay recursos o tutoriales para escribir programas bien estructurados y mantenibles?

¿Fue útil?

Solución

En primer lugar, independientemente del tipo de programación Perl que estés haciendo, probablemente encontrarás Perl :: Crítico será invaluable. La herramienta de línea de comandos es, con mucho, la más conveniente para obtener comentarios sobre su código, pero también hay una interfaz web donde puede cargar su código Perl y recibir retroalimentación instantánea y automatizada. Tenga en cuenta que Perl :: Critic no le enseñará la buena estructura , pero ayudará a mejorar su estilo en general, y lo alejará de algunos errores comunes.

Para ir con Perl :: Crítico, recomiendo obtener una copia de Mejores prácticas de Perl (PBP). Contiene mucha información detallada en la que se basó Perl :: Critic. Incluso si no estás de acuerdo con las pautas particulares del libro, te hace pensar acerca de cómo codificas, y eso es muy, muy valioso. No tiene que desembolsar dinero para un libro, pero los dos se complementan muy bien, y en PBP encontrará largas discusiones que no obtendrá de Perl :: Critic.

Si ya ha trabajado con otros idiomas OO y diseño OO, probablemente encontrará Moose Para ser una transición cómoda. Moose es muy estable, está bien apoyado y tiene una comunidad enorme y activa (especialmente a través de IRC). Moose reemplaza a casi todos los consejos existentes de OO Perl, incluido el mío. El diseño orientado a objetos es común por una razón; tiene sentido para muchos proyectos, y no hay razón para que no lo use en Perl.

Personalmente, encontré una mejora masiva en la estructura de mi propio programa cuando me mudé a un modelo de desarrollo basado en pruebas. Bajo tal modelo, es esencial dividir un problema en unidades pequeñas y fáciles de probar. Comience con Test :: Tutorial si es nuevo en las pruebas en Perl y luego vea en otros recursos de prueba o libros si desea obtener más información. Utilice una herramienta como Devel :: Cover o Devel :: NYTProf para ver qué están afectando a sus casos de prueba y qué no. Tener un código que es difícil de probar es a menudo un signo de estructura deficiente.

Habiendo dicho todo esto, el mejor maestro con diferencia es involucrarse con un proyecto Perl existente con colaboradores experimentados. Vea cómo hacen las cosas y, cuando haga contribuciones, piense en sus consejos. Si desea una aplicación real con un valor increíble que parezca haber absorbido lo mejor y más brillante de la comunidad de Perl, le recomiendo que se involucre con Padre, el editor de Perl .

Si (por cualquier motivo) no puede involucrarse en otro proyecto, considere publicar ejemplos de código en comunidades como Stack Overflow o PerlMonks . Mejor aún, si puede hacer que su código sea de código abierto, entonces hágalo y solicite comentarios. Todos los lenguajes de programación se aprenden mejor con otros que ya están familiarizados con ellos, y Perl no es una excepción aquí.

Puedes hacer Buena Magia con Perl,

Paul

Otros consejos

Si estás aprendiendo OO Perl, puedes pasar a la próxima gran cosa y comenzar a aprender Moose .

Moose es un sistema de objetos posmoderno para Perl 5 que elimina el tedio de la escritura de Perl orientada a objetos. Toma prestadas todas las mejores características de Perl 6, CLOS ( Lisp ), Smalltalk , Java, BETA , OCaml , Ruby y más, a la vez que se mantienen fieles a sus raíces de Perl 5.

Moose está listo para la producción al 100% y tiene un uso intensivo en varios sistemas y crece cada día.

Si ya sabe cómo escribir programas bien estructurados y quiere escribir Perl bien estructurado, pero el único impedimento es la abundancia de ejemplos antiguos, crufty, de código de espagueti que están dispersos por la red y se rechazan. morir ...

Ignora los ejemplos. O al menos ignora su estructura deficiente y solo presta atención a los pequeños bits sintácticos de los que necesitas aprender.

No hay nada en Perl que lo empuje a escribir código incorrecto. Si ya sabe cómo escribir un buen código en otros idiomas, puede aplicar exactamente los mismos principios y prácticas en Perl. Es simplemente una cuestión de disciplina, como en cualquier otro idioma.

Si siente que ya está aprendiendo lo básico y desea mejorar la estructura del programa, le sugiero estos libros, probablemente lo mejor es leerlos en este orden:

  • Perl intermedio : este es probablemente el lugar para comenzar por lo que estás preguntando; cubre el desarrollo y uso de módulos Perl (esenciales para una buena estructura), referencias, estructuras de datos complejas, OO y más

  • Perl Medic: Transforming Legacy Code : se muestra bien Perl estructurado al mostrar cómo corregir Perl mal estructurado

  • Programación eficaz de Perl: escribiendo mejores programas con Perl - Un clásico, pero todavía útil; Lleno de modismos de Perl que te ayudarán a escribir más Perl-ish Perl; no mucho en OO, pero cubre más estructuras de codificación fundamentales para hacer que su código sea más conciso y aún más expresivo. Pienso en esto como el libro que me llevó de la alfabetización de Perl a la fluidez de Perl

Los tres son mejores una vez que te sientas cómodo con la sintaxis básica de Perl, pero ninguno de ellos se adentra en conceptos esotéricos avanzados que no puedes seguir si aún estás empezando en Perl, pero tienes una experiencia de programación razonable en otros. idiomas ya.

Aparte de las fuentes mencionadas anteriormente, recomiendo el libro " Perl de orden superior " por Mark Jason Dominus. Si puede permitírselo, cómprelo; de lo contrario, el autor ha puesto el libro en su sitio web de forma gratuita, como en cerveza gratis, Perl de orden superior gratuito . Para la versión PDF: URL de descarga directa (1.9 MB).

Editar:

Olvidé mencionar los patrones de diseño de Perl. El sitio PerlDesignPatterns es un recurso o referencia muy bueno para aprender los patrones de diseño Perl.

Personalmente, no escribí bien OO Perl hasta que empecé a aprender Java. Te recomiendo que dediques un poco de tiempo a aprender OO en un verdadero lenguaje de OO y apliques lo que aprendes a Perl.

Para un lugar para ser asesorado, PerlMonks es GRAN.

Escriba Perl de la forma en que escribiría C, aunque debería aprovechar algunas de las cosas que COMENZAN a los bloques y módulos. Debe formatearse para que se parezca más o menos al código K & amp; R C del viejo estilo.

En cuanto a la estructura, omite las cosas de OO y diseñe el estilo como ADT en su lugar:

http://en.wikipedia.org/wiki/Abstract_data_type

Básicamente, haces esto utilizando estructuras de datos donde habrías usado objetos en OO (y separando los algoritmos en sus propias funciones).

Luego, elige solo una forma de hacer las cosas y apégate a ellas, la consistencia es vital para la legibilidad.

Si lo manejas, el código puede ser legible y fácil de entender.

Paul.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top