Mi opinión sobre el código eficiente => Li Qifeng

Todavía queda un mes para terminar la vida de estudiante de segundo año. Las siguientes son solo algunas de las experiencias y conocimientos resumidos de mi arrogante primer año de novicio, y hasta ahora menos de dos años de estudio y trabajo. Deje un mensaje en el área de comentarios para las deficiencias.

Concepción del proyecto y diseño detallado

Después de cumplir con los requisitos, primero resuelva la lógica general y luego conciba la estructura y el proceso del proyecto. Es mejor poner el resultado de la idea en el diseño del esquema y el diseño detallado, para que el código sea más fluido.
Codifique la mente a menudo antes de que haya un prototipo que comience a atacar en el momento de escribir este artículo, y luego continuará promoviendo y mejorando el proyecto, descubrimos que muchos no tienen en cuenta algunas de las cosas anteriores, el resultado a menudo debe reconstruirse antes del
diseño detallado Contenido incluido:
1. Descripción del diseño del programa
2. Descripción del programa
3. Función y rendimiento
4. Elementos de entrada y salida
5. Algoritmo y lógica del proceso
6. Interfaz
7. Asignación de almacenamiento
8. Diseño de anotaciones
9. Problemas no resueltos
10 , Diagrama de clases UML

Haz un buen uso de los envases

En el equipo, un proyecto se divide en varios módulos, y cada uno solo es responsable de completar y mantener sus propios módulos. Por lo tanto, al escribir código, a menudo es necesario considerar el escenario en el que otros están llamando a su propio código. Cómo completar un proyecto de manera eficiente y clara. Es decir, los módulos de los que es responsable cada persona son relativamente independientes pero pueden conectarse entre sí. En este momento, se necesita empaque. Cada vez que se completa una función, se encapsula como una función. Las funciones son independientes entre sí y se llaman entre sí.
Ahora siento que escribir código es como bloques de construcción. Un módulo independiente se compone de muchos bloques de construcción de hormigón y se pueden construir varios módulos en un objeto de hormigón. A menudo, una caja de bloques de construcción se puede ensamblar en muchos objetos, pero la estructura ensamblada es diferente.
Lo mismo ocurre con la escritura de código: una función consta de líneas de código y puede completar una función específica. Empalmar una pluralidad de funciones se pueden realizar aplicaciones de producción reales
aprovechar el paquete, buen montaje

Capacidad de proyecto, capacidad de codificación, capacidad de aprendizaje

Para mí, creo que un profesional de software calificado debe tener las siguientes tres habilidades

  1. Capacidad de proyecto: La capacidad de comprender el proyecto. En el producto, también se puede considerar la capacidad de comprender la demanda. Esto se refleja específicamente en la capacidad de comprender y analizar la composición y los requisitos de un proyecto al obtener el proyecto, luego concebir la estructura y el proceso del proyecto, seleccionar la tecnología y el lenguaje requeridos y ser capaz de proponer un conjunto de soluciones preliminares. Creo que esta parte de la habilidad representa el 40% de mí. Puedo hacer como máximo el 20% ahora. Solo dame un proyecto, puedo entender la composición y los requisitos de un proyecto, y luego escribir las funciones correspondientes de acuerdo con los requisitos.
  2. Capacidad de codificar:
    una se refiere al nivel de escritura de código. Eficiente, hermoso, conciso, estandarizado, claramente jerárquico y altamente legible.
    El segundo se refiere a la capacidad de implementar requisitos, es decir, cómo implementar un requisito o función específica a través del código. Creo que las dos habilidades anteriores representan el 35% de mí.
    Para el primer punto, lo que puedo hacer en este momento es escribir comentarios completos, comentarios de clase, comentarios de variables y comentarios de funciones. Utilice código de encapsulación y herencia con más frecuencia, trate de asegurarse de que la jerarquía sea clara. En cuanto a la eficiencia, no creo que haya hecho lo suficiente. Aunque cada vez que termino de escribir el código, tengo que volver atrás y revisarlo dos veces para ver si hay algo que optimizar, pero siento que falta algo. En definitiva, es la falta de comprensión del lenguaje en sí y de algunos mecanismos subyacentes, aspecto que también es mi foco de fortalecimiento en el futuro.
    Respecto al segundo punto, cuando estaba en la escuela escribí el código paso a paso, simplemente imitando el código que me dio el profesor o el libro. En el trabajo, es todo por su cuenta. En la actualidad, para mi libro, solo puedo realizar algunos requisitos simples por mí mismo. Para el tipo de funciones que se basan en distribuidas, asincrónicas y corrutinas, todavía no puedo hacer nada.
  3. Capacidad de aprendizaje: en el trabajo real, siempre estará expuesto a nuevas tecnologías y nuevas herramientas. Cómo empezar rápidamente es también una habilidad indispensable para un practicante de software. Creo que esta parte de la habilidad representa el 25% de mí. Confío en mi evaluación, comenzó la velocidad de las nuevas tecnologías no es demasiado lenta, con la acumulación de la expansión futura del conocimiento, la experiencia, y creo que la nueva tecnología estará aprendiendo más y será útil por
    encima de tres puntos es mi resumen La empresa está expuesta a la experiencia resumida en el proyecto actual. A decir verdad en la escuela, todavía es demasiado cómodo. El aprendizaje paso a paso lo dejará ciego e inflado, pensando que el nivel es suficiente, y es fácil lidiar con las necesidades de maestros o libros. El resultado suele ser un golpe para la empresa. Pienso: estudiar en la escuela es como construir un bungalow, solo necesitas poder apilar los ladrillos. El trabajo de una empresa es como construir un edificio, y la dificultad y complejidad aumentan exponencialmente con el tamaño del proyecto.

Uso flexible de la gramática

Cómo escribir código eficiente y conciso: use el azúcar sintáctico que viene con el código
Ejemplo: uso de lambda en Java

//传统方式遍历列表
List features = Arrays.asList("Lambdas", "Default Method", 
"Stream API", "Date and Time API");
for (String feature : features) {
   System.out.println(feature);
}

//使用lambda遍历列表
List features = Arrays.asList("Lambdas", "Default Method", "Stream API",
 "Date and Time API");
features.forEach(n -> System.out.println(n));

Puede verse que el uso de lambda es útil para la concisión y legibilidad del código.

Nota: No sabía cómo lambda de contacto específico, el ejemplo anterior de lambda es solo el más fácil de usar
en el lambda de Java Una explicación más detallada puede consultar este blog: una comprensión profunda del
uso de Lambda de Java 8 puede consultar el artículo: el Java 8 diez Ejemplos de expresiones lambda

Ejemplo 2: uso de la comprensión de listas en python

# 使用传统的遍历将列表中的单词全都变为小写
word_list = ['Word', 'List', 'Python', 'Liqifen']
low_list = []
for word in word_list:
    low_list.append(word.lower())

# 使用列表生成式将列表中的单词全都变为小写
word_list = ['Word', 'List', 'Python', 'Liqifen']
low_list = [word.lower() for word in word_list]

La generación de listas no solo es más concisa, sino también más eficiente porque es la sintaxis que viene con python

Cada idioma tiene sus propias características y gramática única. El buen uso de estas gramáticas mejorará la eficiencia del código y simplificará la estructura del código.

Selección y uso de patrones de diseño.

Esta es una extensión del contenido y la agregaré más adelante cuando domine mi trabajo. El modelo singleton ha sido el más expuesto hasta ahora.
Sin embargo, es obvio que con el aumento de código, es muy importante elegir un patrón de diseño adecuado, no puedo decir exactamente dónde es importante. Después de todo, el taoísmo es demasiado superficial ...

Pequeño resumen

Desde el primer año hasta ahora, aprendiendo fragmentos de Andrews, jsp, JavaScript, Redis, MongoDB , MySQL, Hadoop, Spark, ELKB framework ... y algunos no pueden recordar
, pero solo ha habido tres en el aprendizaje y uso de Uno, Java, Python y Linux, y ahora comencé a aprender Scala porque quería desarrollar el proyecto Spark.
Cómo decirlo, siento que al hacer un proyecto o hacer un producto, la elección del idioma, las herramientas y la base de datos es muy importante, pero no importa qué herramienta o base de datos, si es de código abierto, si está integrada por otros o es una función escrita en código por usted mismo. Al final, es necesario usar código para conectarlos en un todo, y también escribir un conjunto completo de lógica de proceso, de modo que cada componente pueda completar un trabajo de producción específico de acuerdo con el proceso.
Entonces creo que las herramientas o el lenguaje no es lo más importante en el trabajo, lo más importante es la capacidad de proyecto, la capacidad de codificación y la capacidad de aprendizaje.

Los anteriores son los cinco puntos de experiencia que he resumido hasta ahora, y luego agregaré más problemas prácticos.

Supongo que te gusta

Origin blog.csdn.net/mrliqifeng/article/details/80699348
Recomendado
Clasificación