Red de conocimiento del abogados - Cuestiones jurídicas del divorcio - ¿Cuáles son los requisitos de algoritmo para el front-end de los grandes fabricantes?

¿Cuáles son los requisitos de algoritmo para el front-end de los grandes fabricantes?

Como un pequeño graduado de front-end que se ha graduado durante muchos años, los algoritmos y otras cosas han sido devueltos al maestro durante mucho tiempo. ...

En comparación con los algoritmos, creo que las estructuras de datos y los patrones de diseño son más importantes para el front-end por tres razones:

1) Los tipos de datos que JS puede proporcionar de forma nativa son realmente limitados. Muchas veces usamos objetos y matrices para resolver problemas de manera simple y cruda, y escribimos un montón de códigos comerciales complejos para respaldar la lógica.

Por ejemplo, si queremos hacer un carrusel, naturalmente pensaremos en usar una matriz para registrar los datos de la lista de las imágenes del carrusel. Estamos más de moda aquí y utilizamos la idea de vistas basadas en datos vue para implementarla. Necesitamos cambiar el orden de las imágenes en la matriz cada vez que se pasa la página del carrusel, lo que parece no ser un problema. Pero cuando el negocio es más complejo, por ejemplo, si necesitamos admitir la reproducción en bucle y la reproducción bidireccional, debemos hacer juicios especiales sobre los valores límite de la matriz, lo que reduce la capacidad de mantenimiento del código.

Entonces, si lo pensamos desde otro ángulo, en lugar de usar una matriz para definir la lista de imágenes, ¿usamos una lista vinculada? El problema es mucho más sencillo. Sin embargo, la estructura de datos de la lista vinculada no está implementada de forma nativa en js y debemos completarla nosotros mismos.

Por lo tanto, es necesario dominar las estructuras de datos comúnmente utilizadas y sus métodos relacionados.

2) Los patrones de diseño son soluciones elegantes a problemas en situaciones específicas. Soy atrevida y elegante aquí. Sí, una pregunta suele tener más de una respuesta.

Por ejemplo, quiero vincular el evento de clic a una serie de botones en la página y requerir que el contenido del botón aparezca cuando se hace clic. Un método simple y sencillo es agregar un evento onclick a cada botón. Suponiendo que la cantidad de botones es muy grande o que hay otros eventos de clic que se ejecutarán en este botón, esta solución no es factible. Algunos estudiantes pensaron en usar la delegación de eventos y sí, aquí estás usando un patrón de diseño, el patrón proxy. Está claro cuál es mejor y cuál es peor.

Creo que cada escenario empresarial tiene una solución adecuada y elegante, que es el patrón de diseño.

3) En términos generales, la cantidad de datos y la complejidad computacional que debe procesar el front-end no son altas. Por ejemplo, si quiero encontrar el valor máximo en una matriz, generalmente usaré el método de clasificación de matrices directamente, sin considerar escribir una burbuja o una línea rápida yo mismo. Si realmente necesita procesar una gran cantidad de datos, probablemente sea cuestionable si este proceso de procesamiento debe colocarse en la parte frontal.

Los problemas requieren una abstracción constante, y el grado de abstracción es directamente proporcional a la experiencia y la capacidad.