No soy ningún gurú, pero aquí, en mi humilde opinión, declarar las variables en un bucle es algo ENORME (¡¡¡y ya no lo es!!!).
Una cosa es una función, incluso un trozo de código local, pero loops....
Puedo estar equivocado ))))))))
No es posible, pero definitivamente está mal. Sólo un ejemplo: Se hace un bucle a través de las posiciones abiertas. Si obtienes un ticket de posición, úsalo para obtener otras propiedades de posición. Hay dos variantes, o bien en cada función de obtención de la propiedad de la posición insertar PositionGetTicket(i) o escribirlo en una variable una vez y utilizarlo. Pero cuando se sale del bucle esta entrada no es necesaria... ¿Por qué declarar esta variable en el cuerpo de la función OnTick() o, aún más interesante, a nivel global?
Creo que la primera opción, porque no hay variables adicionales, no sólo utilizan la memoria, pero para mí, el desorden del código - leer más, pero depende de las funciones que usted llama imho, si la función se utiliza raramente, entonces a veces será más legible, si se declara una variable con un nombre en el sentido de la tarea realizada.... en definitiva, se trata de un problema creativo ))))
pero, en general, no les hagas caso, escribe como quieras: utiliza el lenguaje a tu conveniencia
SZZ: mira los ejemplos de mikrosoft, el estilo en su mayoría - declaraciones a la vez utilizando variables, básicamente obtener alcance local, pero sin fanatismo ))
void SimpleImage::CalculateDrawingRect()
{
// Load our bitmap if necessaryif (nullptr == m_bitmap)
{
if (FAILED(LoadBitmapFromShellItem()))
{
return;
}
}
// Calculate bitmap rectanglefloat boundingWidth = m_boundingRect.right - m_boundingRect.left;
float b oundingHeight = m_boundingRect.bottom - m_boundingRect.top;
float w idth = Direct2DUtility::GetRectWidth(m_clipRect);
float h eight = Direct2DUtility::GetRectHeight(m_clipRect);
if (!m_isHorizontal)
{
// Swap width and height to calculate boundariesfloat widthTemp = width;
width = height;
height = widthTemp;
}
if (width > boundingWidth)
{
// Width is larger than bounding box. Scale width to fitfloat scale = boundingWidth / width;
width *= scale;
height *= scale;
}
This repo is the official home of .NET on GitHub. It's a great starting point to find many .NET OSS projects from Microsoft and the community, including many that are part of the .NET Foundation.
Acabo de conocer a un grupo de personas que piensan que el compilador se centra en las variables locales igual que en las globales.
Y el compilador no da barnices.
Lo hace, string y print no son indicadores de trabajo con variables
'tst.mq5' tst.mq5 1 1
posible uso de la variable no inicializada 'c' tst.mq5 16 10
posible uso de la variable no inicializada 'e' tst.mq5 20 17
código generado 1 1
0 error(es), 2 advertencia(s), 526 mseg transcurridos 1 3
tiempo = 1018
suma = 894782460
tiempo = 371
suma = 894782460
No sé por qué, pero μl se adelanta con fuerza (y las variantes más intrincadas de rand()).
Y para mí es obvio: sacarlo del bucle.
Acabo de conocer a un grupo de personas que piensan que el compilador se centra en las variables locales igual que en las globales.
Y el compilador no da ninguna orden.
O .... No lo sé. Lo hago jurar en cada oportunidad que tengo.... ))))))
O .... No lo sé. Juro así cada vez que puedo.... ))))))
tiempo = 1018
suma = 894782460
tiempo = 371
suma = 894782460
No sé por qué, pero μl está muy por delante de la curva (y de las variantes más intrincadas de rand()).
Y para mí es obvio: sacarlo del bucle.
No soy ningún gurú, pero aquí, en mi humilde opinión, declarar las variables en un bucle es algo ENORME (¡¡¡y ya no lo es!!!).
Una cosa es una función, incluso un trozo de código local, pero loops....
Puedo estar equivocado ))))))))
Tienes una versión obscena del compilador)
Y me alegro de ello ))))))))))) Aunque a veces .... Preferiría que no dijera nada )))))))))))))))))))))))))))))))
Si esto es un debate, quiero preguntarle al Gurú.
Lo que es "correcto" (óptimo y legible):
O
¿Si el orden de i es indiferente?
No soy ningún gurú, pero aquí, en mi humilde opinión, declarar las variables en un bucle es algo ENORME (¡¡¡y ya no lo es!!!).
Una cosa es una función, incluso un trozo de código local, pero loops....
Puedo estar equivocado ))))))))
Si esto es un debate, quiero preguntarle al Gurú.
Lo que es "correcto" (óptimo y legible):
O
¿Si el orden de i es indiferente?
Creo que la primera opción, porque no hay variables adicionales, no sólo utilizan la memoria, pero para mí, el desorden del código - leer más, pero depende de las funciones que usted llama imho, si la función se utiliza raramente, entonces a veces será más legible, si se declara una variable con un nombre en el sentido de la tarea realizada.... en definitiva, se trata de un problema creativo ))))
pero, en general, no les hagas caso, escribe como quieras: utiliza el lenguaje a tu conveniencia
SZZ: mira los ejemplos de mikrosoft, el estilo en su mayoría - declaraciones a la vez utilizando variables, básicamente obtener alcance local, pero sin fanatismo ))
https://github.com/microsoftSi esto es un debate, quiero preguntarle al Gurú.
Lo que es "correcto" (óptimo y legible):
O
¿Si el orden de i es indiferente?
Si es indiferente entonces.
int i = Bars();
while(i-- > 0)
{
// code
}
.