Wed. Sep 28th, 2022

Esta lista de verificación lo ayudará a escribir código de Python limpio y fácil de administrar

Foto de Austin Lowman en Unsplash Nunca entendí realmente por qué los ingenieros de software o los científicos de datos con experiencia en informática se quejaban del código que escriben los científicos de datos hasta que comencé a leer el código de otros científicos de datos. Luego, descubrí la kryptonita del científico de datos. “La ciencia de datos no es un campo que se deriva naturalmente de la informática”, y se refleja en la amplia variedad de antecedentes que tienen los científicos de datos. Por lo general, provienen de campos no relacionados, como la medicina, la ingeniería, las artes, los negocios y más, los científicos de datos rara vez tienen antecedentes informáticos en los que respaldar su conocimiento de la escritura de código. La mayoría de las veces, el primer código que un científico de datos escribe es a través de un curso en línea que les dará un empujón en el campo. No solo eso, sino que la mayoría de los científicos de datos comienzan aprendiendo Python, que es un lenguaje que permitirá que un nuevo codificador se salga con la suya con muchas cosas. Por lo tanto, los científicos de datos a menudo están en desventaja cuando se trata de escribir código que puede se vuelve evidente cuando se compromete con el entorno de producción. La importancia de escribir un buen código se vuelve evidente cuando se va a trabajar para una empresa que no tiene el presupuesto para contratar científicos de datos e ingenieros de software. En esos escenarios, los científicos de datos son responsables de crear código listo para producción. Por lo tanto, debe desarrollar un sistema que lo ayude a escribir código limpio y fácil de administrar. Ya sea que sea un científico de datos nuevo que acaba de comenzar (¡siempre es una buena idea comenzar los buenos hábitos temprano!) o un veterano que podría hacer esto mientras duermen (nunca es una mala idea eliminar el óxido de vez en cuando), esta lista de verificación lo ayudará a escribir un mejor código Python para la ciencia de datos. Si tiene experiencia en ciencias de la computación o ingeniería de software, puede codificar que codificas con un acento. Al igual que hablar un idioma nuevo o un segundo idioma, siempre hablarás con un acento que deje lo suficientemente claro para un oyente que no es tu idioma principal. Lo mismo puede suceder al escribir código en un lenguaje que acaba de aprender. Sin embargo, si comienza a escribir código usando un acento y convenciones de un lenguaje de programación diferente que conoce bien, es posible que su código no necesariamente entienda lo que le está pidiendo que haga o hará lo que le pidas de una manera muy ineficaz nt. En resumen, use Python de la forma en que fue diseñado y codifique con él usando sus convenciones y patrones adecuados. . Las bibliotecas como NumPy, Pandas, Matplotlib, TensorFlow, Seaborn, SciPy, Scikit-Learn y más están depuradas y listas para producción. Además, se están convirtiendo en el estándar con el que trabajan muchas empresas, lo que significa que su equipo se beneficiará enormemente si comienza a usar sus bibliotecas preferidas. Los primeros años que trabaje como científico de datos, su objetivo principal probablemente sea escribir código que solo funciona Es posible que la planificación y el diseño no sean conceptos que se le pasen por la cabeza cuando su objetivo principal es producir algo que funcione y no rompa el sistema de toda la empresa. En cierto punto, el diseño se volverá importante para usted a medida que comience a expandir el alcance de su código y comience a prepararlo para el entorno de producción. En este punto, querrá concentrarse en su planificación y diseño, cómo funcionará con el código existente y si está organizado o no en términos de ubicación. de sus componentes. Sabrá que ha escrito un código bien diseñado cuando escuche menos palabrotas del departamento de ingeniería, o cuando sepa que las palabrotas no son para usted. Algunos parámetros de diseño para enfocar su mente al preparar su código son iteradores y generadores (que están muy bien integrados en Python), la cadena de responsabilidad (cada pieza de código debe hacer una cosa, y solo una), y el patrón de comando. ¿Está bien organizado su código? ¿Está claro? y conciso? ¿Se dan variables y funciones m ¿Nombres significativos y compatibles con la guía de estilo? Estas son las preguntas que debe hacerse antes de publicar su código. Python es conocido por brindar a sus usuarios la flexibilidad de escribir código espagueti que tiene poca o ninguna claridad, concisión u organización. A pesar de su flexibilidad, se deben seguir convenciones de estilo estrictas para garantizar que pueda comprender su código después de un fin de semana fuera y que un nuevo empleado pueda ver su código cinco años después y refactorizarlo con éxito. La guía de estilo es su mejor amigo. Úselo y actualice su contenido de vez en cuando. La documentación de su código debe incluir dos partes: Comentarios dentro del código utilizando las convenciones de comentarios de Python adecuadas. Documentación de respaldo que elabora los comentarios. tres tipos de comentarios: Un comentario en la parte superior del código recién comprometido que brinda una breve descripción del objetivo del código y su funcionalidad. Un comentario en la parte superior de cada función que describe sus entradas, salidas y qué lógica está realizando. Un comentario en la parte superior de cualquier frase lógica o práctica que no sea necesariamente fácil de entender para que sus pensamientos como autor puedan organizarse y entenderse mejor por aquellos que miran su código desde el exterior. La documentación de apoyo del código debe escribirse en cualquier momento. escribe una pieza sustancial de código que tendrá importantes implicaciones una vez que se agregue al código de producción. Este documento externo debe incluir: El objetivo y la funcionalidad del código. Instrucciones sobre cómo integrar su código (si es necesario). Una explicación de las partes complicadas o difíciles de entender de su código en formato largo donde se toma el tiempo de describirlas. exactamente lo que hace el código línea por línea, tal vez con una breve descripción de por qué eligió escribir el código de la forma en que lo hizo. o se requiere ayuda. Los científicos de datos son cada vez más responsables de preparar la producción de su código. Esto significa que debe hacerse estas preguntas antes de confirmar su código: ¿Se escala su código según sus necesidades? ¿Su código contiene generadores de perfiles para generar informes? ¿Se optimizó su código para ejecutarse con la máxima eficiencia? Todas estas preguntas se pueden responder teniendo en cuenta algunos principios de Python: Use un generador de perfiles que proporcione una constante s flujo de estadísticas e información sobre fallas de código y rendimiento del código: esto elimina las conjeturas para determinar si su código ha sido optimizado. Mantenga su código liviano asignando y declarando solo las variables y funciones que necesita para que su código funcione, abusando de variables y requiere memoria y recursos de CPU innecesarios. Evite los bucles cuando pueda para reducir la carga de los servidores. Escriba código eficiente usando funciones alternativas que brinden un rendimiento mejorado, como xrange() y join() , evitando variables globales, recordando usar múltiples tarea y el uso de conjuntos y uniones. Escribir una solución de una sola línea para un problema es un gran truco de fiesta si desea impresionar a sus amigos o si desea publicar un artículo viral en Medium. Sin embargo, se está abriendo a un mundo de dolor cuando llega el momento de depurar y refactorizar su código. La clave aquí es recordar el antiguo acrónimo con el que probablemente vivía cuando estaba aprendiendo a codificar por primera vez:keep yot Simplementar Stupid. Este acrónimo es un gran recordatorio de que no importa cuán impresionante sea su solución de una sola línea para predecir el mercado de valores, no es la solución más simple o práctica. La complejidad innecesaria no debe tener cabida en su código, especialmente cuando se trata de un lenguaje que ya es fácil de mantener simple. No se deje seducir por la flexibilidad que le brinda Python. En su lugar, mantenga su código simple, fácil de leer y, lo que es más importante, fácil de depurar. No se puede negar que a medida que avanza un proyecto, sus mensajes de confirmación serán cada vez menos informativos. Todos han caído en esta trampa en algún momento. u otro en el que el día ha sido largo, el código ha estado fluyendo lentamente y los mensajes de confirmación comienzan a parecerse cada vez más a un niño pequeño que se apoderó de su teclado. Luego, al día siguiente, llega y se encuentra con una pila de confirme los mensajes que tiene que revisar cuando finalmente encuentre un error que necesita corregir. El truco aquí es hacerse estas dos preguntas antes de enviar un compromiso: ¿Sería capaz de entender el mensaje de confirmación el día después de un largo fin de semana fuera de ¿Tu mensaje de confirmación sigue un estándar de formato? ¡Eso es todo lo que hay que hacer para escribir buenos mensajes de confirmación!Consejo profesional: Utilice un formato de mensaje de confirmación que le permita comprender al instante lo que implica una confirmación. Por ejemplo, use una etiqueta de prefijo o un emoji (usando gitmoji) para representar el tipo de confirmación, como:[FEATURE] o ✨Este compromiso está agregando una nueva función al código.[BUG] o 🐛 Esta confirmación está notificando/corrigiendo un error.