Red de conocimiento informático - Aprendizaje de código fuente - Cómo escribir código de lenguaje sencillo

Cómo escribir código de lenguaje sencillo

1. Utilice números enteros y enteros largos

La forma más sencilla de mejorar la velocidad de su código es utilizar el tipo de datos correcto. Puede que no lo creas, pero elegir el tipo de datos correcto puede mejorar enormemente el rendimiento de tu código. En la mayoría de los casos, los programadores pueden reemplazar variables de tipo entero corto, decimal y decimal de doble precisión con variables de tipo entero (Integer) o entero largo (Long), porque la capacidad de Yi Language para manejar números enteros y enteros largos es mucho mayor que. manejar varios otros tipos de datos.

En la mayoría de los casos, la razón por la que los programadores eligen utilizar los tipos decimal o doble decimal es por su capacidad para contener decimales. Pero los decimales también se pueden almacenar en variables de tipo entero. Por ejemplo, si hay tres decimales acordados en el programa, entonces solo necesita dividir el valor almacenado en la variable entera por 1000 para obtener el resultado. En mi experiencia, el código puede ejecutarse casi 10 veces más rápido utilizando números enteros y enteros largos en lugar de tipos decimales cortos, decimales y dobles.

Pero no siempre debemos enfatizar el uso de números enteros y enteros largos, porque la definición de tipos de datos en el programa también implica una cuestión clave, que es la seguridad de los datos, lo que provocará una definición frecuente y no estandarizada de tipos de datos. Los problemas en el algoritmo se deben a problemas con la seguridad de los datos y el juicio crítico. Para los cálculos financieros y de ingeniería, la precisión del punto decimal es un dato muy sensible y solo se puede estandarizar con datos de doble precisión. un tipo entero también provocará que la legibilidad del programa disminuya drásticamente.

2. Evite el uso de datos de propósito general

Las variables de propósito general requieren 16 bytes de espacio para almacenar datos. un número entero (Entero) solo necesita 16 bytes de espacio para almacenar datos. Requiere 2 bytes. Generalmente, el propósito de usar variables universales es reducir la carga de trabajo de diseño y la cantidad de código. Algunos programadores también lo usan para evitar problemas. Pero si un software está estrictamente diseñado y codificado según las especificaciones, se puede evitar por completo el uso de tipos variantes.

3. Intente evitar el uso de atributos

En el código diario, el código más común e ineficiente es usar propiedades (Propiedad) repetidamente cuando se pueden usar variables. Debes saber que la velocidad de acceso a las variables es aproximadamente 20 veces mayor que la de acceso a los atributos. Muchos programadores utilizan el siguiente código en sus programas:

Nombre del contenedor: Tipo numérico: Tipo entero

Nombre del contenedor: Tipo de contenedor: Tipo entero

Conteo cabeza de ciclo (7, contenedor)

Texto 1. Contenido = Texto 1. Contenido + #salto de línea + texto ((valor × contenedor))

Contar Segundo bucle cola()

La velocidad de ejecución del siguiente código es 20 veces mayor que la del código anterior.

Nombre del contenedor: Tipo numérico: Entero

Nombre del contenedor: Tipo de contenedor: Entero

Nombre del contenedor: Tipo de texto: Texto

Texto = Texto 1. Contenido

Cabeza de bucle de conteo (7, contenedor)

Texto = Texto + #Salto de línea + a texto ((valor × contenedor))

p>

Fin del bucle de conteo ()

Texto 1. Contenido = texto

Además, tenga en cuenta que esto implica una idea de programación. En la mayoría de los casos, los atributos se utilizan como variables. El algoritmo se puede simplificar. Entonces, a veces no podemos simplemente enfatizar el uso de variables en lugar de atributos.

6. Evite llamar a subrutinas cortas

También es antieconómico llamar a una subrutina con solo unas pocas líneas de código; llamar a la subrutina puede llevar más tiempo que ejecutar la subrutina. más extenso. En este caso, puede copiar el código de la subrutina al lugar donde se llamó originalmente la subrutina. Pero a veces se puede llamar a una pequeña subrutina muchas veces en lugar de solo dos o tres veces, y se debe llamar en este momento.

7. Reducir las referencias a subobjetos

En Yi Language, las referencias a objetos se logran mediante el uso de . Por ejemplo: Ventana 1. Cuadro de edición 1. Contenido

En el ejemplo anterior, el programa hace referencia a dos objetos: Ventana 1 y Cuadro de edición 1. Cotizar utilizando este método es ineficaz. Pero lamentablemente no hay forma de evitarlo. Mi "módulo multimedia" tiene este defecto.

8. Compruebe si los datos de texto están vacíos

La mayoría de los usuarios de Yi Language utilizarán el siguiente método para comprobar si los datos de texto están vacíos: If (Text 1. Content = "") Nota : La operación de ejecución finaliza si

Desafortunadamente, hacer comparaciones de cadenas requiere incluso más procesamiento que leer propiedades. Por lo tanto, te sugiero usar el siguiente método: if (to value(text1.content) = 0) Nota: La operación de ejecución finaliza if Otra opinión diferente es: El problema es cuando la cadena de texto es un valor no numérico como por ejemplo " ABC" Cuando se escribe, alcanzar el valor ("ABC")=0 no significa que esté vacío. La eficiencia de la comparación de texto no es baja. En el algoritmo subyacente, la longitud generalmente se compara directamente antes de continuar comparando el contenido.

9. Utilice matrices en lugar de múltiples variables

Cuando tenga múltiples variables que almacenen datos similares, puede considerar reemplazarlas con una matriz. En lenguaje Yi, la matriz es una de las estructuras de datos más eficientes.

10. Intente utilizar matrices dinámicas en lugar de matrices estáticas.

El uso de matrices dinámicas no tendrá un gran impacto en la velocidad de ejecución del código, pero en algunos casos puede ahorrar un tiempo. mucho dinero.

11. Destruir objetos

No importa qué software esté escrito, los programadores deben considerar liberar el espacio de memoria ocupado por el software después de que el usuario decide finalizarlo. Pero, lamentablemente, a muchos usuarios no parece importarles mucho esto. El enfoque correcto es destruir los objetos utilizados en el programa antes de salir del programa. Por ejemplo: cerrar la base de datos: cerrar (nombre de la base de datos), cerrar todo (), cerrar archivos abiertos (reproducidos), cerrar imágenes cargadas, etc. Al cancelar la ejecución del programa, los archivos abiertos (incluidos archivos de bases de datos, archivos de imágenes, etc.) deben cerrarse. Sin embargo, la destrucción de ventanas es automática para destruir ventanas y unidades de ventanas, lo cual es suficiente para liberarlas. Las unidades dentro de la ventana pueden provocar que el acceso a los datos de la unidad se bloquee durante la ejecución del programa. Sólo en el caso de los buffers de gráficos es necesario destruirlos con frecuencia.

12. Intente utilizar subrutinas internas para reducir la cantidad de módulos Yi porque conectarse a un objeto externo desde el lenguaje Yi requiere mucha potencia de procesamiento de la CPU. Cada vez que llama a una función de interfaz, se desperdician muchos recursos del sistema. Además, Yi Language cargará el módulo Yi en la memoria solo cuando se llamen las funciones de interfaz o variables en el módulo Yi; estos módulos se descargarán de la memoria cuando se cierre la aplicación Yi Language; Si solo hay un módulo en el código, Yi Language solo realizará una operación de carga, por lo que la eficiencia del código mejorará; por el contrario, si hay varios módulos en el código, Yi Language realizará múltiples operaciones de carga; La eficiencia del código se reducirá.

13. Utilice matrices de objetos

Al diseñar interfaces de usuario, los programadores deben intentar utilizar matrices de objetos para el mismo tipo de controles. Puedes hacer un experimento: agrega 100 cuadros de imagen en la ventana, cada cuadro de imagen tiene un nombre diferente y ejecuta el programa. Luego cree un nuevo proyecto, agregue también 100 cuadros de imágenes a la ventana, pero esta vez use una matriz de objetos, ejecute el programa, puede notar la diferencia en el tiempo de carga de los dos programas. Algunas personas también piensan que, lógicamente, la eficiencia de ambos debería ser más o menos la misma.

14. Utilice el método "mover" la unidad de ventana

Al cambiar la posición de un objeto, a algunos usuarios les gusta usar "ancho", "alto", "arriba" y " propiedad izquierda". Por ejemplo: Botón 1. Ancho = 100 Botón 1. Alto = 100 Botón 1. Borde superior = 0 Botón 1. Izquierdo = 0

De hecho, esto es muy ineficiente porque el programa modifica cuatro atributos. Después de cada modificación, la ventana se volverá a dibujar. El enfoque correcto es utilizar el método Mover: Botón 1. Mover (0,0,100,100)

15. Reducir el uso de imágenes

Las imágenes ocuparán mucha memoria y Procesar imágenes también consumirá mucha memoria. En el software, si es posible, considere usar colores de fondo en lugar de imágenes; por supuesto, esta es solo la perspectiva de un técnico sobre este tema. Pero si deseas optimizar la interfaz del programa, los beneficios de usar gráficos pueden superar con creces los recursos ahorrados. De lo contrario, no habrá XP ni progreso en el juego.

16. Optimización de la compilación Hay tres opciones para la compilación de programas en Yi Language: "Compilar", "Compilación independiente" y "Compilar para generar e instalar software". El orden de prioridad debe ser "compilar y generar software de instalación", "compilar" y "compilación independiente", porque la "compilación independiente" compilará todas las bibliotecas de soporte en el sistema Yi Language, mientras que "compilará y generar software de instalación" únicamente. selecciona Compilación de bibliotecas de soporte necesarias en el programa. Para ejecutar sin el entorno de lenguaje Yi, no utilice "compilar", sino "compilar para generar software de instalación" o "compilación independiente".

Resumen: La eficiencia de la ejecución y la legibilidad del programa siempre están en conflicto, y ambas deben considerarse de manera integral; la ocupación de recursos y la facilidad de uso del programa siempre están en conflicto, y ambas también deben considerarse de manera integral;

Con base en esto, analicemos algunas reglas para mejorar la eficiencia del programa.

Regla 1: No busques ciegamente la eficiencia del programa. Debes intentar mejorar la eficiencia del programa mientras satisfaces factores de calidad como corrección, confiabilidad, solidez y legibilidad.

La regla 2 es principalmente mejorar la eficiencia global del programa, complementada con la mejora de la eficiencia local.

Regla 3: Al optimizar la eficiencia de un programa, primero se deben identificar los "cuellos de botella" que limitan la eficiencia y no optimizar en áreas irrelevantes.

Regla 4: Optimice primero las estructuras de datos y los algoritmos, y luego optimice el código de ejecución. Primero considere si una determinada función se puede implementar usando una función (comando). Si no se puede encontrar dicha función, considere usar otros códigos para implementarla.

Regla 5 A veces la eficiencia del tiempo y la eficiencia del espacio pueden estar en conflicto. En este momento, debes analizar cuál es más importante y llegar a un compromiso adecuado. Por ejemplo, gaste más memoria para mejorar el rendimiento.

Regla 6: No busque únicamente código compacto en todo momento, porque el código compacto no produce código de máquina eficiente.