Apoyando al Cientifico de datos

¿Por qué un científico de datos debería preocuparse por los principios de la ingeniería de Software?


Muchos científicos de datos, como yo comenzamos estudiando carreras de matemáticas o estadística y poco después , aprendemos que comunicando estas ideas técnicas es tan importante como entenderlas por uno mismo.Sin embargo muchos científicos de datos son programadores autodidactas que ven el código como un medio para ser un científico de datos, sin embargo es solo un paso para crear un modelo de Machine Learning o un modelo estadístico o ejecutar una simulación.

Pero en realidad, la Ingeniería de Software es una habilidad valiosa que necesita ser aprendida y practicada, en esta sección y en posteriores veremos algunos conceptos muy importantes como son la modularidad, la documentación & las pruebas.

Definiremos a continuación los conceptos fundamentales:

MODULARIDAD:



Para introducir código modular, comencemos definiendo lo que no es, el código no modular puede tomar la forma de scripts y funciones largas , complicadas & difíciles de leer, la programación se vuelve menos compleja cuando dividimos nuestro código en unidades funcionales más cortas y esa es toda la idea detrás de la modularidad.

Con el código modular, no solo creamos código mas legible , si no que se vuelve más fácil de arreglar cuando algo no esta compilando como debería de ser.Ademas , el código modular es más fácil de llevar a nuestro proximo proyecto, el cual nos permite ahorrar tiempo al evitar la resolución de problemas que ya resolvimos en un proyecto anterior.

Beneficios de la documentación:


Si trabajamos en un equipo o si alguna vez publicamos algún proyecto, entonces otras personas necesitaran leer nuestro código y aveces la otra persona solo somos nosotros.Tanto nosotros como otras personas nos va a resultar más fácil de leer nuestro proyecto si utilizamos buenas prácticas de documentación.

Un proyecto que utiliza todas estas técnicas puede ahorrar mucha confusión y frustración para todos los que vana a leer el código.

Beneficios de la automatización de pruebas. 



Una cosa que aprendemos de la vida es que todos cometemos errores, es por eso que los lápices tienen gomas de borrar, por qué las computadoras tienen corrección ortográfica y por qué el software necesita pruebas.

Muchas veces los científicos de datos escriben un código , lo prueban usan una vez y jamas en la vida lo vuelven a utilizar, definitivamente vale la pena realizar estas pruebas manuales, pero aprovechando herramientas como el paquete pytest que puede ejecutar automáticamente nuestras pruebas para asegurarse de nuestro código funcione como se esperaba incluso de agregar una nueva funcionalidad.

Comentarios

Entradas populares