Styler dans le terminal de trading MetaTrader 5 - page 6

 
Renat :

Lorsque vous collecterez, gérerez et paierez vous-même la base de code, la question tombera immédiatement.

Non, vous riez après tout.

Quel est le rapport entre le styler et la base ? Comment l'outil d'un programmeur (qu'il utilise pour faciliter son travail) est-il lié aux règles de publication (qui peuvent n'avoir aucun rapport avec son travail) ?

Vous avez dit vous-même que tous les codes seront automatiquement "peignés" par le styliste avant la publication. Laissez-le donc les "peigner" dans votre style avant de les publier, personne ne le conteste !

Séparez les concepts de "base" et de "stylet", et tout se mettra en place.



Renat:

Ou pensez-vous que tout ici est fait gratuitement ?

Renat, vous savez très bien que la base apporte des revenus (bien qu'indirectement).

Et pour une raison quelconque, vous donnez le terminal gratuitement aussi.



Renat:

Maintenant, on ne parle plus que de "c'est mauvais seulement parce que ce n'est pas personnalisable" par principe.

Passons à des points spécifiques - indiquez quel point et pourquoi il n'est pas fait correctement par le styliste.

Ce qui ne va pas, ce n'est pas une action spécifique, mais l'approche elle-même.

Il est inacceptable de s'attarder sur un style (quel qu'il soit). Vous n'êtes pas des pionniers, et plusieurs styles de programmation différents ont déjà été établis avant vous. Chacune a ses propres avantages et inconvénients, et chacune est familière à son utilisateur.

Choisir une option signifie rejeter automatiquement plus de la moitié des programmeurs. Vous ne les obligerez pas à se reconvertir. En outre, beaucoup commencent à écrire en MQL après une solide expérience de la programmation dans d'autres langages.


La solution est simple et évidente : créer des paramètres personnalisables et quelques styles standard. Mettez le vôtre par défaut, mais autorisez-le à modifier ses paramètres. Croyez-moi, les débutants (si vous avez soudain peur qu'ils se mettent à écrire "mal") n'iront jamais dans ces paramètres !


Des exemples de paramètres à énumérer ? ;)

 
Merci, un point "combien d'espaces avant une accolade" a été fait. Nous avons mis 2 et vous avez mis 0.


Passons aux points suivants.

 
Renat :
Merci, un point "combien d'espaces avant une accolade" est exprimé. Nous avons mis 2 et vous avez mis 0.


Passons aux points suivants.

  1. Espaces autour de = += -= *= /* -- ++ + - * /, après "(", après "," et avant ")" ;
  2. Une tabulation au lieu de 3 espaces dans l'indentation serait bien du tout.
 
Renat :

Passons aux points suivants.

Ne souffrez pas tant. "Tout a déjà été volé avant nous."

Prenez la liste d'articles d'Astyle. Vous ne serez probablement pas inspiré par la liste complète d'uncrustify, et vous n'êtes probablement pas obligé de le faire, mais elle est très claire et concise - vous pouvez choisir ce dont vous avez besoin.

Artistic Style
  • astyle.sourceforge.net
becomes (with break‑after‑logical):
 
komposter :
  1. Espaces autour de = += -= *= /* -- ++ + - * /, après "(", après "," et avant ")" ;
  2. Des tabulations au lieu de 3 espaces dans l'indentation serait génial.


sur le point 2 : la tabulation est un mal - essayez de regarder le même code dans différents éditeurs... flottera, pour ne pas dire plus
 
mql5 :


sur le point 2 : la tabulation est un mal - essayez de regarder le même code dans différents éditeurs... sera flottante, pour ne pas dire plus
komposter:
  1. Espaces autour de = += -= *= /* -- ++ + - * /, après "(", après "," et avant ")" ;
  2. Des tabulations au lieu de 3 espaces dans l'indentation serait génial.


C'est pourquoi vous ne devez pas le peigner à votre façon. Chacun a ses propres cafards dans sa tête. Donnez au peuple du pain et des cirques. Nous choisirons nous-mêmes ce qui nous plaît.

 
mql5 :


sur le point 2 : la tabulation est un mal - essayez de regarder le même code dans différents éditeurs... pour ne pas dire plus, ça va flotter.

La solution est simple, la tabulation (indentation) est faite soit par le caractère de tabulation (alors elle peut flotter) soit par le bon nombre d'espaces (alors tout sera identique partout).

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

Le deuxième point "séparer les opérations par des espaces" est exprimé.


Y a-t-il d'autres points ?

 
Renat :

Le deuxième point concernant les "espaces opérationnels distincts" est exprimé.

D'autres points ?


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();
   //...
}

Sweets

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

Les points d'intérêt spécifiques sont "ça marche comme ça maintenant, et ça devrait marcher comme ça".


L'alignement des parenthèses a déjà été évoqué.