Styler en el terminal comercial MetaTrader 5 - página 6

 
Renat :

Cuando recojas, gestiones y pagues tú mismo el Código Base, la pregunta desaparecerá inmediatamente.

No, te estás riendo después de todo.

¿Cómo se relaciona el estilizador con la base? ¿Cómo se relaciona la herramienta de un programador (que utiliza para facilitar su trabajo) con las normas de publicación (que pueden no tener nada que ver con su trabajo)?

Usted mismo ha dicho que todos los códigos serán "peinados" automáticamente por el estilista antes de su publicación. Pues que las "peine" a su estilo antes de publicarlas, ¡nadie lo discute!

Separe los conceptos de "base" y "estilista", y todo encajará.



Renat:

¿O crees que todo lo que se hace aquí es gratis?

Renat, sabes muy bien que la base aporta ingresos (aunque sea de forma indirecta).

Y por alguna razón también estáis dando el terminal gratis.



Renat:

Ahora sólo se habla de que "es malo sólo porque no es personalizable" por principio.

Pasemos a puntos concretos: indique qué punto y por qué no lo hace correctamente el estilista.

Lo que está mal no es una acción específica, sino el enfoque en sí mismo.

Es inaceptable que nos centremos en un solo estilo (el que sea). No son pioneros, y ya se han establecido varios estilos de programación antes que ustedes. Cada uno tiene sus propias ventajas y desventajas, y cada uno es familiar para su usuario.

Elegir una opción significa rechazar automáticamente a más de la mitad de los programadores. No les obligará a reciclarse. Además, muchos empiezan a escribir en MQL después de una sólida experiencia en programación en otros lenguajes.


La solución es sencilla y obvia: hacer parámetros personalizables y unos cuantos estilos estándar. Ponga el suyo por defecto, pero permita cambiar su configuración. Créeme, los novatos (si de repente te preocupa que empiecen a escribir "mal") ¡nunca entrarán en estos escenarios!


¿Ejemplos de configuraciones para enumerar? ;)

 
Gracias, un punto "cuántos espacios antes de una llave" se ha hecho. Nosotros ponemos 2 y tú pones 0.


Pasemos a los siguientes puntos.

 
Renat :
Gracias, un punto "cuántos espacios antes de una llave" se expresa. Nosotros ponemos 2 y tú pones 0.


Pasemos a los siguientes puntos.

  1. Espacios alrededor de = += -= *= /* -- ++ + - * /, después de "(", después de "," y antes de ")";
  2. Los tabuladores en lugar de 3 espacios en la sangría serían geniales en absoluto.
 
Renat :

Pasemos a los siguientes puntos.

No sufras tanto. "Ya nos han robado todo antes".

Toma la lista de artículos de Astyle. Es probable que no te inspire la lista completa de uncrustify, y probablemente no tengas que hacerlo, pero es muy clara y concisa: puedes elegir lo que necesitas.

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 
komposter :
  1. Espacios alrededor de = += -= *= /* -- ++ + - * /, después de "(", después de "," y antes de ")";
  2. Las pestañas en lugar de 3 espacios en la sangría serían geniales.


sobre el punto 2: la tabulación es malvada - intente mirar el mismo código en diferentes editores... flotará, por decirlo suavemente
 
mql5 :


sobre el punto 2: la tabulación es malvada - intente mirar el mismo código en diferentes editores... flotará por decirlo suavemente
komposter:
  1. Espacios alrededor de = += -= *= /* -- ++ + - * /, después de "(", después de "," y antes de ")";
  2. Las pestañas en lugar de 3 espacios en la sangría serían geniales.


Por eso no tienes que peinarlo a tu manera. Cada uno tiene sus propias cucarachas en la cabeza. Dale al pueblo pan y circo. Elegiremos por nosotros mismos lo que nos gusta.

 
mql5 :


sobre el punto 2: la tabulación es malvada - intente mirar el mismo código en diferentes editores... por decirlo suavemente, flotará

La solución es sencilla, el tabulador (sangría) se hace o bien con el carácter de tabulación (entonces puede flotar) o bien con el número correcto de espacios (entonces todo será igual en todas partes).

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 

El segundo punto, "separar las operaciones con espacios", se expresa.


¿Hay algún otro punto?

 
Renat :

El segundo punto de los "espacios de operaciones separadas" es expresado.

¿Algún otro punto?


class Class
{ // скобка на уровне объявления
private: // спецификаор на уровне объявления
   // приватные типы
   definition; // объявления и определения функций и членов с отступом
  
protected:
   // защищённые типы
   definition;
public:
   // публичные типы
   definition;

public:
   definition;
  
protected:
   definition;
  
private:
   definition;

}; // скобка на уровне объявления

Enums:

enum ProceedObject
{ // скобка на уровне объявления
   EPO_BAT,
   EPO_LEFT_BORDER,
   EPO_RIGHT_BORDER,
   EPO_UP_BORDER,
   EPO_DOWN_BORDER,
   EPO_FLOOR,
   EPO_CEILING,
   EPO_BRICKS, // значения по отступу,
}; // скобка на уровне объявления

Si:

if(condition1) 
{
   DoSomething();
   //...
}
else if(condition2)
{
   DoSomethingOther();
   //...
}
else
{
   DoSomethingOtherAgain();
   //...
}

Dulces

switch(condition) 
{
    case 1:
    case 2:
        x = ...;
    break;
    case 3:
{
         x = ...;
//...
}
    break;
    default:
        x = ...;
    break;
}
 

Los puntos específicos de interés son "ahora funciona así, y debería funcionar así".


La alineación de los soportes ya ha sido expresada.