Red de conocimientos turísticos - Conocimientos sobre calendario chino - 7~8 formas de reducir la cantidad de código

7~8 formas de reducir la cantidad de código

Copiar y pegar es un método de desarrollo muy eficaz, pero no es adecuado para mantenimiento en absoluto: para corregir un error ortográfico, hay que modificar siete u ocho archivos en el código, lo cual es frustrante. Está todo ahí.

Si por algún casual queremos reemplazar los códigos correspondientes de estos siete u ocho archivos, será aún más doloroso. En el backend, solo necesitamos modificar el código de los archivos correspondientes Java, Go, JavaScript, Python y otros archivos relacionados con el lenguaje. En el front-end, necesitamos modificar archivos HTML/JavaScript/CSS, e incluso en un marco como React, tenemos que modificar varios lugares en un archivo.

Desde entonces, como programadores profesionales, buscamos constantemente formas de reutilizar código (PD: copiar y pegar es esencialmente una forma de reutilizar).

Reutilización del resumen de experiencia

La reutilización del resumen de experiencia se refiere a combinar la experiencia de la organización y el proyecto y extraer las mismas partes para que puedan usarse en otros proyectos. él. De hecho, todos los tipos de reutilización son reutilización empírica. Por lo tanto, la reutilización basada en la experiencia aquí se refiere específicamente a la reutilización dentro de una organización. Por lo que tengo entendido, existen las siguientes cuatro categorías:

Scaffolding

Scaffolding es una forma de crear rápidamente nuevas aplicaciones. En el andamiaje, resumiremos patrones y códigos de experiencias pasadas e integraremos estos patrones y códigos en nosotros mismos. La característica es combinar varios marcos de uso común y combinarlos juntos, como el back-end: Spring Boot Spring Eureka Feign Zuul, etc., como el front-end React Redux React Router, etc. (PD: Angular no es tan complicado).

Los propios marcos principales del mercado proporcionan las funciones de andamiaje correspondientes. En base a esto, los andamios se pueden dividir en dos categorías:

Ambas tienen sus propias ventajas y desventajas. Al andamiaje oficial del marco le faltan algunos factores específicos del equipo y de la organización. Los andamios caseros requieren un mantenimiento a largo plazo por parte del equipo. Sin embargo, por diversas razones (como KPI), todos mantenemos nuestro propio andamio, ¿qué opinas?

Biblioteca de componentes (cliente)

La biblioteca de componentes es un elemento esencial para todo proyecto web. Es adecuado para la reutilización de la interfaz de usuario en el desarrollo del lado del cliente. La biblioteca de componentes en sí se divide en tres niveles: componentes básicos de la interfaz de usuario, componentes compuestos y componentes comerciales.

En términos generales, utilizaremos bibliotecas de componentes básicos de UI de terceros. En base a eso, encapsule su propia biblioteca de componentes comerciales. O bien, la biblioteca de componentes básicos de la interfaz de usuario se puede volver a encapsular para reducir la dependencia de bibliotecas de componentes de terceros y convertirla en una biblioteca de componentes reemplazable.

Biblioteca de patrones

La esencia de una biblioteca de patrones sigue siendo un conjunto de códigos, que extrae nuestros códigos de uso común en una biblioteca de clases públicas. En términos de clasificación, las bibliotecas de componentes también son un tipo de bibliotecas de patrones. Para facilitar la distinción entre desarrollo del lado del servidor y del lado del cliente, separé la biblioteca de componentes.

La biblioteca de patrones se extrae con el propósito de ***. En diferentes proyectos, su expresión es ligeramente diferente:

Ambos métodos tienen sus propias ventajas y desventajas. El primero es propenso a errores de mantenimiento, mientras que el segundo es inconveniente de actualizar.

Plantillas y aplicaciones de plantillas

Las bibliotecas de componentes y las plantillas son esencialmente parte del sistema de diseño. Un sistema de diseño es un conjunto de patrones y prácticas de diseño interrelacionados que se organizan de manera coherente para lograr el propósito de un producto digital. Contiene las siguientes cinco partes:

Las aplicaciones de plantilla se integran aún más sobre la base de plantillas para ayudar a los desarrolladores a crear rápidamente un determinado tipo de aplicación.

Para otros tipos de aplicaciones, es necesario determinar si aparecerán aplicaciones similares.

Herramientas

Los cuatro métodos mencionados anteriormente son métodos relativamente comunes. Y a medida que aumenta el número de nuestros proyectos y se expande el número de desarrolladores, empiezan a volverse problemáticos. Luego necesitamos escribir algunas herramientas para ahorrar muchos costos laborales.

CLI

La CLI aquí se refiere a la CLI de fabricación propia, que coopera con una serie de herramientas de código automatizadas que escribimos para formar su propia solución.

La interacción es la siguiente:

Podemos automatizar una serie de tareas como la configuración y la instalación de componentes.

Esquemas

Los esquemas provienen del equipo Angular y son esencialmente un tipo de CLI, pero es más sencillo de programar que CLI. Integra en el código algunos patrones comunes en nuestro proceso de programación CLI. En otras palabras, es equivalente a Angular y React entre las herramientas front-end: solo necesita escribir lógica empresarial sin centrarse en la infraestructura.

Es una herramienta de flujo de trabajo para la web moderna; puede aplicar modificaciones a su proyecto, como crear nuevos componentes o actualizar el código para corregir cambios importantes en las dependencias (PD: algo similar a un script de base de datos backend). ). También es posible agregar nuevas opciones de configuración o marcos a proyectos existentes.

Complemento de programador

El complemento de programador es una idea muy interesante. Podemos escribir un complemento de editor y agregar nuestros códigos, patrones, plantillas, etc. comunes al complemento. Por ejemplo, en VS Code, solo necesitamos crear el correspondiente:

Esto se puede usar para generación de código y detección inteligente. Para un marco, solo necesitamos personalizar los componentes correspondientes y los códigos de patrón del marco y luego reutilizarlos.

Sistema de diseño y generación de código

Cuando tenemos un sistema de diseño sistemático, podemos utilizar frameworks como Storybook para optimizar el uso de los componentes. Nos permite configurar los parámetros del componente correspondiente mientras visualizamos el documento del componente. Finalmente, solo necesitamos copiar el código resultante y usarlo en nuestro proyecto.

En comparación con la biblioteca de componentes general, es más ligera y fácil de usar.

El siguiente paso es esperar a que la IA genere código. Para proyectos con un sistema de diseño, podemos convertir directamente nuestros diseños en código a través de herramientas como Sketch2Code. Sin embargo, éste es esencialmente un patrón más complejo. Para proyectos que cuentan con un sistema de diseño, podemos convertir el diseño en metadatos.

Conclusión

Reducir la cantidad de código escrito por los programadores es una mejora en la eficiencia.