Red de conocimiento informático - Material del sitio web - Cómo escribir código de programa en lenguaje Yi

Cómo escribir código de programa en lenguaje Yi

1. Utilice números enteros y enteros largos

La forma más sencilla de mejorar la velocidad de su código es utilizar los tipos de datos correctos. 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 decimal corto, decimal y de doble precisión con variables de tipo entero o tipo entero largo, porque la capacidad de Yi Language para manejar números enteros y enteros largos es mucho mayor que otros tipos de datos.

La mayoría de las veces, los programadores optan por utilizar decimal o decimal de doble precisión porque ahorra decimales. Pero los decimales también se pueden almacenar en variables enteras. Por ejemplo, si hay tres decimales 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 reemplazando los tipos decimales cortos, decimales y dobles por números enteros y enteros largos.

Pero no siempre enfatices 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. Los tipos de datos frecuentemente definidos de forma irregular pueden dar lugar a lagunas en los algoritmos, lo cual es una cuestión de seguridad de los datos y de juicio crítico. Para cálculos financieros y de ingeniería, la precisión del punto decimal es un dato muy sensible y sólo puede normalizarse con datos de doble precisión. Además, cambiar a un número entero también hará que la legibilidad del programa disminuya drásticamente.

2. Evite el uso de datos comunes.

Las variables generales requieren 16 bytes para almacenar datos, mientras que los números enteros solo requieren 2 bytes. Las variables universales se suelen utilizar para reducir la carga de trabajo del diseño y la cantidad de código. Algunos programadores también las utilizan para evitar problemas. Sin embargo, si un software se diseña y codifica estrictamente de acuerdo con las especificaciones, los tipos de variantes son completamente evitables.

3. Intenta evitar el uso de atributos.

En código normal, el código más común y menos eficiente es reutilizar una Propiedad cuando se puede usar una variable, especialmente en un bucle. Debes saber que acceder a las variables es aproximadamente 20 veces más rápido que acceder a las propiedades. Muchos programadores utilizan el siguiente código en sus programas:

Nombre del contenedor:Tipo de número:Tipo entero

Nombre del contenedor:Tipo de contenedor:Tipo entero

Encabezado del bucle de conteo (7, contenedor)

Texto1. contenido = texto1. Content+# newline+to text((value×container))

Ciclo de conteo tail()

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

Nombre del contenedor:Tipo de número:Tipo entero

Nombre del contenedor:Tipo de contenedor:Tipo entero

Nombre del contenedor:Tipo de texto:Tipo de texto

texto=texto1. Contenido

Cabeza del ciclo de conteo (7, contenedor)

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

Cola del ciclo de conteo ( )

Texto 1. Contenido = texto

Otra cosa a tener en cuenta es que esto implica una idea de programación. El uso de atributos como variables puede simplificar el algoritmo en la mayoría de los casos. Entonces, a veces no se puede 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 una subrutina puede ser más rápido que ejecutar el código en la subrutina. lleva más tiempo. En este caso, puede copiar el código de la subrutina a la ubicación donde se llamó originalmente a la subrutina. Pero a veces una pequeña subrutina puede ser llamada muchas veces en lugar de sólo dos o tres veces, por lo que se debe llamar.

7. Reducir las referencias a subobjetos

En el lenguaje Yi, las referencias a objetos se realizan mediante el uso. Por ejemplo: ventana 1. Cuadro de edición 1. contenido.

En el ejemplo anterior, el programa hace referencia a dos objetos: la ventana 1 y el cuadro de edición 1. La eficiencia de la cotización es muy baja con este método. Pero, lamentablemente, esto es inevitable. Mi "módulo multimedia" tiene este defecto.

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

La mayoría de los usuarios de Yi Language utilizarán el siguiente método al comprobar si los datos de texto están vacíos: If (text 1. Content = " ") Nota: Si se completa la operación.

Desafortunadamente, comparar cadenas requiere más procesamiento que leer propiedades.

Entonces le sugiero que use el siguiente método: If (valor de registro (texto 1. Contenido) = 0) Nota: La ejecución finaliza. En caso de otra opinión diferente: el problema es que cuando la cadena de texto es de un tipo no numérico como "ABC", toNumeric("ABC") = 0 no significa nulo. La eficiencia de la comparación de texto no es baja. En el algoritmo subyacente, las longitudes generalmente se comparan directamente antes de la comparación del contenido.

9. Utilice matrices en lugar de múltiples variables

Cuando tenga múltiples variables que contengan datos similares, considere reemplazarlas con matrices. 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 muchos recursos.

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. Desafortunadamente, 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, para cerrar la base de datos: cerrar (nombre de la base de datos), cerrar todo (), cerrar archivos abiertos (reproducidos), cerrar imágenes cargadas, etc. Los archivos abiertos (incluidos archivos de bases de datos, archivos de imágenes, etc.) deben cerrarse al detener la ejecución del programa, pero la destrucción de ventanas es automática para destruir ventanas y unidades de ventanas, lo cual es suficiente para liberarlas. Es mejor no destruir aleatoriamente las unidades de ventana en la ventana, lo que puede provocar posibles fallas en el acceso a los datos de la unidad durante la ejecución del programa. Sólo en el caso de los buffers gráficos es necesario destruirlos con frecuencia.

12. Intente utilizar subrutinas internas para reducir la cantidad de módulos fáciles, porque conectarse a objetos externos desde el lenguaje fácil 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, el lenguaje Yi solo carga el módulo Yi en la memoria cuando llama a las funciones o variables de la interfaz en el módulo Yi. Estos módulos sólo se descargan de la memoria cuando se cierra la aplicación de lenguaje fácil. Si solo hay un módulo en el código, Yi Language solo lo cargará una vez, por lo que se mejora la eficiencia del código; por otro lado, si hay varios módulos en el código, Yi Language realizará múltiples operaciones de carga; y la eficiencia del código se reducirá.

13. Utilice matrices de objetos

Al diseñar una interfaz de usuario, los programadores deben intentar utilizar matrices de objetos para controles del mismo tipo. 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 100 marcos de imágenes a la ventana, pero esta vez use una matriz de objetos y ejecute el programa. Puede notar la diferencia en el tiempo de carga de los dos programas. Algunas personas piensan que, lógicamente, la eficiencia de ambos debería ser más o menos la misma.

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

Al cambiar la posición de un objeto, a algunos usuarios les gusta usar el ancho, alto, borde superior y borde izquierdo. propiedades. Por ejemplo: Botón 1. ancho = 100 botón 1. altura = 100 botón 1. borde superior = 0 botón 1. izquierda = 0.

En realidad es ineficiente, porque el programa modifica cuatro atributos y la ventana se volverá a dibujar después de cada modificación. El enfoque correcto es utilizar el método Move: presione el botón 1. Mover (0, 0, 100, 100).

15. Reducir el uso de imágenes

Las imágenes ocupan mucha memoria y su procesamiento también consume muchos recursos de la CPU. En términos de software, si es posible, considere usar colores de fondo en lugar de imágenes; por supuesto, esto es solo desde la perspectiva de un técnico. Pero para optimizar la interfaz del programa, los beneficios del uso de gráficos pueden superar con creces los recursos ahorrados; de lo contrario, no habrá XP y no habrá progreso en el juego.

16. Hay tres opciones para compilar programas en Easy Language: compilación, compilación independiente y compilación para generar software de instalación. Priorice la compilación e instalación de software, la compilación y la compilación independiente, porque la compilación independiente compilará todas las bibliotecas de soporte en el sistema Easy Language, mientras que la compilación e instalación de software solo selecciona las bibliotecas de soporte necesarias en el programa para la compilación. Si desea ejecutar sin el entorno de lenguaje Yi, no utilice "compilar", utilice "compilar para generar software de instalación" o "compilación independiente".

Resumen: La eficiencia de ejecución y la legibilidad del programa siempre son contradictorias y deben considerarse de manera integral; la ocupación de recursos y la disponibilidad del programa siempre son contradictorias y deben considerarse de manera integral.

En base a esto, a continuación se presentan algunas reglas para mejorar la eficiencia del programa.

Regla 1: No busque ciegamente la eficiencia del programa. Intente mejorar la eficiencia del programa mientras satisface factores de calidad como corrección, confiabilidad, solidez y legibilidad.

La regla 2 se centra en mejorar la eficiencia general del programa, complementada con la mejora de la eficiencia local.

Regla 3: al optimizar la eficiencia del programa, primero debe descubrir los "cuellos de botella" que limitan la eficiencia y no optimizar en lugares 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 función (comando) puede realizar una función. Si no puede encontrar dicha función, considere usar otro código.

Regla 5 A veces la eficiencia del tiempo y la eficiencia del espacio pueden ser opuestas. En este momento, es necesario analizar cuál es más importante y hacer los compromisos adecuados. Por ejemplo, gastar más memoria mejora el rendimiento.

Regla 6: No siempre busques código compacto, porque el código compacto no produce código de máquina eficiente.