¿Cómo se distingue programáticamente entre un feto PROFESIONAL y un feto DILIETO? - página 7

 

Todas las funciones de cadena tienen un coste elevado.

Todas las funciones gráficas son costosas.

Cuantos más elementos del gráfico, más se ralentiza (así que, para acelerar el trabajo en modo visual, elimine periódicamente los iconos de orden (especialmente si hay muchos)).

Lo que más tiempo consume aquí sería WinowsRedraw() y Comment() ya que el gráfico también se redibuja al llamarlo.

Así es como se ve a primera vista.

 

El problema es que el código puede ser escrito por un profesional y de forma muy competente (sin características ni diseños costosos), pero puede encarnar el absoluto sinsentido que se le ha encargado.

Ya no es interesante.

 
Mathemat:

El problema es que el código puede ser escrito por un profesional y de forma muy competente (sin características ni diseños costosos), pero puede encarnar el absoluto sinsentido que se le ha encargado.

Ya no es interesante.

Tal y como yo lo veo, un programador profesional debe escribir para sí mismo, como un escritor o un compositor, y por encargo, también profesionalmente, necesariamente con un resultado positivo real. Otra cosa es si se le pide que escriba sobre la idea del cliente (TOR), a pesar de que su idea no es concluyente para el programador, en este caso el programador advierte que es poco probable que el cliente trabaje con el consejo, pero el cliente insiste y el programador realiza el pedido. Entiendo que las particularidades son diferentes aquí y que ninguna obra maestra resistirá la prueba del tiempo, pero estoy de acuerdo en que hay ejemplos de longevidad (verificados por el probador) en el Mercado en MT5 para toda la historia. Creo que este será el punto de partida para determinar la profesionalidad del programa y del programador, así como del comerciante, no porque sepa, sepa cómo, sino por el resultado. Por supuesto, este trabajo profesional debe tener un precio adecuado. Y no se prohíbe a nadie hacer trabajos de mala calidad, como suelen hacer los escritores y compositores, que lo tratan condescendientemente como un trabajo forzado a tiempo parcial "para mantener sus pantalones". Perdona mi franqueza, pero sin ella, ¡para qué hablar!

 
La inspiración no está en venta. Pero, puedes vender un manuscrito.
 

Dimitri, define lo que debe hacer tu analizador. Distinguir un buen código de uno malo es una tarea; distinguir una buena idea de una mala es otra muy distinta. Y mientras que en el primer caso se puede tratar de encontrar soluciones automáticas, en el segundo caso es difícil hacerlo incluso en modo manual, e incluso en modo automático es simplemente irreal. Pero ya que hemos empezado a hablar de un analizador que puede distinguir el código bueno del malo, vamos a discutir el tema:

¿Qué distingue a un profesional de un aficionado en primer lugar? En mi opinión, es el nivel de conocimiento de la lengua, que se muestra a través de una variedad de formas de utilizarla. Por lo tanto, si un desarrollador utiliza una notación no trivial y algoritmos como la recursión, es más probable que sea un programador profesional. Sobre esta base, podemos construir algún sistema experto que analice el código y calcule el número de "trucos" utilizados en él. Cada ficha obtiene puntos. Si una ficha es, por el contrario, negativa, se imponen sanciones. Así se obtiene un número o una puntuación total que caracteriza el código en su conjunto. Por ejemplo, puedes hacer una especie de tabla de ponderación:

Este es el consejo:
Puntuación
Uso de matrices
+1
Reutilización del código (relación entre funciones y líneas de código)
+4
Operadores += -= /=
+1
Operadores % >> <<
+3
Llamada a una función recursiva
+5
Uso de las directivas del preprocesador
+3
Número de líneas comentadas a la cantidad de código
+5
Uso de funciones "lentas"
-3
Utilización de variables del mismo tipo: tiempo1, tiempo2, tiempo3, tiempo4
-4

Como resultado, el sistema experto calcula el peso de cada uno de los parámetros y da una puntuación total que caracteriza la calidad general del código.

 

Chicos, la única manera de diferenciar el código profesional del código de los novatos es tener los resultados de la optimización del código. No podrá hacer un seguimiento del 100% de la optimización. Sólo se pueden rastrear algunos de sus elementos. Y un novato también puede realizar una optimización parcial. Por ejemplo, sustituir la operación "multiplicar por dos" por la operación "sumar un valor a sí mismo". Déjalo, la idea del rastreo consume demasiados recursos en comparación con el resultado que puede dar. No es rentable invertir en un prog - es un intento de cortar una cerilla de un tronco - una cerilla como producto, y el resto como virutas.

 
drknn:

Chicos, la única manera de diferenciar el código profesional del código de los novatos es tener los resultados de la optimización del código.

Los idiotas ))
 

Signos de código profesional:
Nombres significativos de variables y funciones;
Buena estructura de programanavegable;
Buenos comentarios.

Sólo puede buscar estas características manualmente en el software. La automatización no funcionará.

SZY Todo esto debe buscarse en los programas escritos por un programador para sí mismo.
En nuestra época, un programador que se precie no dará este código a terceros.

 
FAQ:

Todas las funciones de cadena tienen un coste elevado.

Todas las funciones gráficas son costosas.

Cuantos más elementos del gráfico, más se ralentiza (así que, para acelerar el trabajo en modo visual, elimine periódicamente los iconos de orden (especialmente si hay muchos)).

Lo que más tiempo consume aquí sería WinowsRedraw() y Comment() ya que el gráfico también se redibuja al llamarlo.

Así es como se ve a primera vista.


Me interesan las optimizaciones más rápidas (las pruebas son un tema aparte) y la reducción del consumo de memoria.
La cuestión de acelerar las optimizaciones (las pruebas son un tema aparte) y reducir el consumo de memoria. En el foro alguien mencionó casualmente que es necesario para evitar "añadir" gráficos
objetos durante la optimización. En teoría, la optimización no ve los gráficos en absoluto y supuse que tal
Supuse que los comandos como ObjectCreate() simplemente se ignoran durante la optimización.
¿Debo bloquearlos o no?
Pero si todavía tiene que desactivarlas, significa que tenemos que añadir una comprobación cada vez
if(IsOptimization()==false ) {
}
Al mismo tiempo, estas comprobaciones afectan a la velocidad de optimización.
¿Son caras las funciones de comprobación de estado?
¿Tiene sentido asignarlos a variables y utilizarlos después?
Casi siempre tengo Comment() - ¿también debería bloquearse durante la optimización?
¿Qué pasa con la alerta y la impresión? (de nuevo, durante la optimización). No se escriben en el registro durante la optimización, ¿verdad?
 
chief2000:

Y si todavía tiene que bloquearlos, significa que cada vez tendrá que añadir un cheque

No lo hagas.

if(IsOptimization()==false ) {
}

а

if( !IsOptimization() ) {
}

Pero es mejor hacerlo así:

if ( !IsOptimization() && ( !IsTesting() || IsVisualMode() ) ) {

// ...

}

Esta condición puede hacerse una vez y establecer un valor de alguna bandera, que luego puede utilizarse para comprobar si es necesario mostrar texto e información gráfica en el gráfico.

PS.

Y en general, ¿por qué estás tan animado? El tópico de vez en cuando indica que tú..., y de D'Artagnan.

Razón de la queja: