![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Per quanto riguarda "i programmatori normali ricordano le priorità delle operazioni C++ come una tabella di moltiplicazione",
Esattamente! Non è affatto un professionista, tali avvertimenti mi hanno aiutato 100 volte.
Non sono nemmeno un professionista, ma sono stato infastidito da tali avvertimenti più di una volta, perché tra decine (e a volte centinaia) di tali avvertimenti superflui si sono persi quelli veramente importanti e necessari
E non è chiaro che tipo di avvertenze si possono avere se si mettono le parentesi ovunque? E se si trattava di altri casi, non c'è bisogno di mischiare le cose
In modo che questo concetto possa essere implementato nel compilatore. Nessuno vieta di mettere parentesi extra. La domanda riguarda gli avvertimenti non necessari
Bene, nello studio questo è configurato da un livello.
E in realtà nessuno vi impedirà di rimuovere questi avvertimenti cambiando il codice in modo che al compilatore piaccia
Beh, nello studio, è impostato da un livello.
E nessuno vi impedisce effettivamente di rimuovere questi avvertimenti cambiando il codice in modo che al compilatore piaccia
È un ostacolo, perché poi ci sono delle parentesi in più. Ma nessuno impedisce agli amanti di questa causa di mettere delle parentesi in più, e soprattutto - tutti ne sarebbero felici
Dubito che sia configurabile in studio - perché non ci sono avvisi ridondanti su presunte parentesi dimenticate (almeno di default) e quindi non c'è materia da configurare
Non mi dispiace. Basta lasciare questi avvertimenti nel vecchio MQL4.
È così che rimangono per la maggior parte
In µl4 impreca su tutto, in µl5 solo sulle operazioni << e >>, il che è abbastanza logico, perché la loro logica di sovraccarico sarà molto spesso molto diversa dalla logica in base alla quale sono state date priorità. Questi avvertimenti mi hanno aiutato molte volte, o almeno non mi hanno infastidito troppo. Beh, e le operazioni logiche che definiscono la logica del codice && e ||, che dovrebbero essere comunque delimitate da parentesi...
Nemmeno io sono un professionista, ma sono stato infastidito da tali avvertimenti più di una volta perché tra decine (e a volte centinaia) di tali avvertimenti superflui ho perso quelli veramente importanti e necessari
E non è chiaro quali avvertenze si possono avere se si mettono parentesi ovunque? E se si trattasse di altri casi, non c'è bisogno di mettere tutto insieme
Di solito succede che bisogna correggere rapidamente qualche condizione. Per esempio, ho fatto un errore in una condizione in cui ho scritto && in un posto e avrei dovuto sostituirlo con ||. L'ho corretto e ho premuto F7. Immediatamente ho ricevuto un avvertimento. Guardo con precisione e vedo che il risultato con le modifiche attuali non è quello che mi aspettavo. Lo modifico - è ok. Cioè, il compilatore mi ha aiutato molto con il suo messaggio.
Ma se avete un sacco di avvertimenti, scrivete il vostro codice con più attenzione. O non li modifica per una questione di principio, dimostrando alla macchina che si sbaglia?
Vi impedisce di farlo perché crea parentesi inutili. Ma mettere staffe extra non è impedito dai dilettanti, e la cosa principale è che tutti sarebbero felici con esso.
Dubito che sia configurabile nello studio - perché non ci sono avvertimenti extra su presunte parentesi dimenticate (almeno di default), quindi non c'è materia di configurazione
Totalmente d'accordo. Visto che ti definisci un programmatore, sii così gentile da imparare le priorità delle operazioni, almeno ricordati che esistono. Mi è stato chiesto di aggiungere un robot di recente, ma mi è stato chiesto di aggiungere init() e start() e quando ho chiesto loro quando l'hanno scritto mi hanno detto che era stato una settimana fa. Quindi, ci sono ancora "codificatori", ma per queste persone non vale la pena lasciare avvertimenti inutili.
Sono assolutamente d'accordo. Visto che ti definisci un programmatore, sii gentile e impara le priorità di funzionamento, almeno ricordati che esistono. Mi è stato chiesto di finire di scrivere un robot di recente, ma ci sono init() e start() e quando ho chiesto loro quando l'hanno scritto mi hanno detto che era stato una settimana fa. Quindi, ci sono ancora "codificatori", ma per queste persone non vale la pena lasciare avvertimenti inutili.
La conoscenza delle priorità non ha niente a che vedere con gli avvertimenti. Scrivo codice tranquillamente e non mi definisco un programmatore.
Dubito che sia allestito nello studio
è disponibile nelle proprietà del progetto. avevamo una regola di ferro su uno dei nostri progetti - correggere tutti gli avvertimenti sulle versioni di rilascio, compresi alcuni paranoici W4
https://docs.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level?view=vs-2017
Mi sembra che più avvisi ci sono e meglio è, se sono in qualche modo giustificati e possono essere disattivati
Se avete un numero enorme di avvertimenti, scrivete il codice con più attenzione. O non li correggete per una questione di principio, dimostrando che la macchina ha torto?
Uso soprattutto codice compatibile con C++ (e spesso anche un solo file). Il C++ non li ha, e le parentesi inutili, come già notato qui, rendono difficile la comprensione