English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
Programmatore migliore (Parte 05): Come diventare uno sviluppatore più veloce

Programmatore migliore (Parte 05): Come diventare uno sviluppatore più veloce

MetaTrader 5Esempi | 19 aprile 2022, 09:29
213 0
Omega J Msigwa
Omega J Msigwa


Introduzione

In qualità di sviluppatori, vogliamo sempre avere la possibilità di creare programmi più velocemente fornendoli con una qualità superiore. Questa capacità può essere appresa da qualsiasi sviluppatore indipendentemente dall'esperienza di codifica, dalla potenza di calcolo e dagli strumenti presenti nell'area di lavoro o dalla velocità di digitazione della tastiera.

Questo articolo è un articolo esteso della parte precedente, considera di leggerlo prima se non l'hai già fatto.

         come codificare più velocemente


CONTENUTO:

  1. Pianifica il tuo lavoro
  2. Non reinventare la ruota
  3. Fai solo ciò che è richiesto
  4. Affronta sfide più grandi
  5. Vivi in modo sano
  6. Fallo ora
  7. Non lavorare troppo
  8. La qualità non è costante
  9. Abbi sempre una scadenza
  10. Conosci il tuoi momenti picco
  11. La riflessione è la chiave
  12. Misura oggettivamente
  13. Esplora al di fuori del tuo lavoro
  14. Test più veloci


01: Pianifica il tuo lavoro

"Se non riesci a pianificare, stai pianificando di fallire" — Benjamin Franklin

Come sviluppatori, tendiamo a pensare che correre verso la tastiera e iniziare a scrivere del codice a una velocità maggiore, ci farebbe finire i nostri progetti più velocemente, ma questa idea è molto sbagliata perché uno dei motivi principali che ci rallenta non è a quale velocità digitiamo il nostro codice, il più delle volte è perché non abbiamo un piano o abbiamo un piano scadente per il nostro progetto.


Perché pianificare il tuo lavoro è così importante

  1. Aumenta la concentrazione. Senza focus, ci vorrebbe molto tempo per portare a termine anche progetti semplici. Più sei concentrato sul tuo progetto, più velocemente lo finirai.
  2. Dà chiarezza. Otterrai una migliore comprensione di ciò che dovresti fare e di quanto sia urgente.
  3. Riduce al minimo il pensiero sfocato. Poiché per lo più stiamo creando programmi per una delle cose più difficili da prevedere al mondo mercato Forex, siamo sempre bombardati da idee diverse nella nostra mente una volta che l'idea che intendevamo utilizzare per la prima volta fallisce. È essenzialmente una buona cosa attenersi a ciò che abbiamo pianificato in anticipo se vogliamo finire il nostro progetto più velocemente.

Prima di iniziare qualsiasi viaggio, devi avere un'idea di dove stai andando, quindi dai al tuo progetto abbastanza tempo per la preparazione per assicurarti di non perderti nient'altro, quando ti è chiaro cosa vuoi, allora è il momento di iniziare a digitare un codice sulla tastiera.


02: Non reinventare la ruota

Nei grandi progetti, provare a ricominciare da zero può essere difficile e frustrante, quindi uno dei modi migliori per iniziare sarebbe considerare l'utilizzo di lavori precedenti di altri su CodeBase , Market o altrove.

Probabilmente qualcuno ha già realizzato lo stesso progetto che stai cercando di fare prima e usarlo come punto di partenza potrebbe aiutarci a iniziare molto rapidamente ed essere alcuni passi avanti rispetto a dove avremmo potuto essere se avessimo iniziato da zero.

NOTA: Non tutti i lavori precedenti sono buoni da usare, devi scegliere il progetto giusto

Aspetti da considerare quando si sceglie il progetto giusto da utilizzare.

Scegliere il lavoro giusto da utilizzare può aiutarti a far funzionare le cose velocemente, ma scegliere il lavoro sbagliato può rendere le cose difficili, di seguito sono riportate alcune delle cose da considerare.

  • Assicurati che abbia pochi o nessun bug. Non vuoi iniziare il tuo progetto con bug di partenza (controllalo/esegui il debug).
  • Dovrebbe avere una documentazione chiara e ben spiegata, dal momento che devi capire praticamente tutto in quel lavoro che hai appena scelto. Deve avere una buona documentazione che puoi leggere, proprio come leggiamo le basi di MQL5 quando siamo novellini.
  • Il codice è aggiornato; il linguaggio MQL5 viene aggiornato di volta in volta, alcuni dei metodi e delle implementazioni che sono stati compilati e su cui stavano lavorando l'anno scorso probabilmente non funzioneranno allo stesso modo quest'anno, questo a causa degli aggiornamenti del linguaggio. Quindi, assicurati sempre che il codice utilizzato su quel progetto sia recente. Il modo migliore per verificarlo è compilare il codice in MetaEditor per verificare se viene eseguito senza errori.

Ad esempio, si desidera creare un indicatore che disegna linee in base al calcolo della media mobile e ad altri calcoli. Puoi scaricare un indicatore di media mobile da CodeBase, quindi modificarlo o aggiungere dei buffer per modellarlo nel modo desiderato.

C'è quasi ogni codice in CodeBase per quasi tutte le attività di base che potresti voler eseguire; quindi, scegli quello giusto per te.


03: Fai solo ciò che è richiesto

Come sviluppatori, spesso dimentichiamo cosa dovremmo fare sul nostro progetto, tendiamo a dare la priorità alla codifica di cose che non influiscono direttamente su ciò che vogliamo ottenere principalmente dal nostro progetto.

Ad esempio: animazioni Fancy Chart, Oggetti del Grafico e Pulsanti in Expert Advisors.

Come puoi vedere, tutti gli articoli citati non hanno alcun impatto diretto su nessuna delle nostre attività di trading e la maggior parte delle volte i nostri EA stanno meglio senza di essi.

Poiché gli oggetti vengono creati con il metodo integrato ObjectCreate(), potrebbe essere necessario molto tempo per codificarli, per non parlare della loro disposizione in modo che appaiano tutti bene sul grafico in modo che il processo prende gran parte del nostro tempo.

Sinceramente non consiglio Oggetti Grafico e animazioni fantasiose su Expert Advisor (quando vuoi sviluppare più velocemente) a meno che tu non voglia creare un assistente al trading.

Diciamo che un cliente del freelance vuole che tu codifichi un Bollinger-Band Expert Advisor con alcune altre funzionalità come Trailing Stop. Fai solo quello, niente di più niente di meno.

Non è saggio usare tutta la tua energia per programmare cose meno importanti, finché non raggiungi la scadenza solo per renderti conto che hai perso tempo perché il programma è pieno di spazzatura.

Non è saggio né iniziare le cose meno importanti prima quando la tua mente è eccitata e creativa, per poi iniziare le cose importanti per ultime quando sei stanco, o semplicemente correre a finire il tuo progetto perché hai raggiunto la scadenza o è troppo vicina.

“Impara a separare le cose maggiori e le minori. Molte persone non fanno bene semplicemente perché si specializzano in cose minori” — Jim Rohn

Inizia sempre con le attività principali e talvolta complesse che hanno un impatto diretto su ciò che desideri, se non hai raggiunto la scadenza ora puoi iniziare a fare tutte quelle piccole cose interessanti.


04: Affronta sfide più grandi

Come ho detto nel mio primo articolo, gli sviluppatori più veloci sono quelli flessibili e a proprio agio in quello che stanno facendo. Quindi la chiave in questo punto è che dobbiamo sentirci a nostro agio come sviluppatori in modo da poter diventare più veloci.

Quindi, come può qualcuno sentirsi a proprio agio?

Credo che probabilmente hai già giocato a un videogioco. Se hai giocato il livello più difficile e hai avuto successo o hai battuto il giocatore più difficile in quel particolare gioco, giocare a livelli medi/moderati diventa facile e diventa facile battere il giocatore medio.

Questo principio è ottimo e non si applica solo ai videogiochi, ma si applica anche alla codifica.

Scegli un'area in cui vuoi essere bravo, quindi pianifica il programma complicato che non hai mai fatto prima. Ad esempio, per essere bravo negli EA, pianifica le multi-funzioni come strategie multiple, multi-indicatori, troppi oggetti grafici, più modifiche di trading, ecc. Subito dopo aver finito di pianificare il progetto core, imposta scadenze ravvicinate e cerca di finire prima.

Se avrai successo, molti progetti che potresti affrontare in futuro saranno facili, tu sarai più a tuo agio e, di conseguenza, la tua velocità di sviluppo aumenterà.

"Affronta la sfida più difficile e il resto diventerà facile" — Steve Chandler

L'obiettivo qui non è farti del male, ma renderti vulnerabile alle sfide difficili che potresti incontrare nella tua carriera, che potrebbero aver bisogno di te per risolverle rapidamente.


05: Vivi in modo sano

Se vuoi essere produttivo in questa carriera, allora la salute è una delle cose che devi assicurarti di non trascurare.

La carriera di codificatore richiede molto lavoro mentale nell'apprendimento del codice, nel ricordare, nell'essere creativi, nel rimanere concentrati, ecc.

  • Imparare senza ricordare ciò che impari è come far nulla
  • La codifica senza focus è una perdita di tempo.
  • Senza creatività non c'è innovazione, differenziazione, opportunità e problemi complessi sono difficili da risolvere

Non sono un esperto di salute, a chi volesse approfondire l'argomento consiglierei di leggere questo blog post

Di seguito sono riportati i miei consigli sulla salute per migliorare la tua produttività che porta a uno sviluppo più rapido

Conosci il valore di allontanarti dal tuo codice.

Se ci atteniamo alla programmazione 24/7, potremmo non notare che non siamo sempre creativi e concentrati, perché per l'uomo medio in questo 21° secolo la concentrazione è un grosso problema.

Alcuni studi risalenti agli anni '90 suggeriscono che, a causa delle variazioni naturali nel nostro ciclo di attenzione, possiamo concentrarci per non più di 90 minuti prima di aver bisogno di una pausa di 15 minuti.

Gli esperti di salute consigliano di fare una sessione di codifica di 90 minuti.

Io codifico all'interno di sessioni casuali a seconda di come vedo la mia produttività in corso. A volte posso programmare per molte ore senza prendermi una pausa, ma in alcuni giorni succede che non riesco a concentrarmi molto e mi ritrovo ad aver bisogno di pause casuali per rinfrescare la mia mente. Credo che abbiamo intervalli di attenzione diversi, quindi pianifica e imposta la sessione di codifica giusta che funziona per te.

Dormi abbastanza per far funzionare al massimo il tuo cervello.

Hai bisogno di almeno 7 ore di sonno al giorno.

Mangia meglio e fai esercizio.

Andare a correre per prima cosa al mattino è il modo migliore per accrescere il tuo umore per l'intera giornata. Provalo se non l'hai già fatto e guarda come la tua produttività aumenta durante l'intera giornata.

I morti non scrivono codice, i malati scrivono codice errato, quindi prenditi cura di te


06: Fallo ora

Ogni volta che ti viene un'idea per il tuo prossimo grande progetto, non rimandare, inizia a farlo iniziando a pianificarlo come ho detto sul primo punto. A meno che tu non abbia qualcosa di più importante, devi iniziare a farlo immediatamente.

Fallo ORA a volte DOPO significa MAI

Avviarlo immediatamente non solo ti aiuterà a raggiungere rapidamente la scadenza, ma eviterai anche ritardi inutili che non sono importanti e potrebbero far sì che la tua mente inizi a sminuire l'idea durante quel periodo di ritardo.

“Il tempo passa, quindi qualunque cosa tu abbia intenzione di fare, falla ora“ Robert de Niro

I ritardi hanno conseguenze negative quando si tratta di sviluppare. È molto facile dimenticare cosa avevi pianificato di fare quando hai avuto un'idea (soprattutto se non l'hai annotata) Inoltre, ritarda l'uso e i miglioramenti del prodotto.


07: Non lavorare troppo

La carriera di programmatore è piena di diversi tipi di cose e infinite cose che dobbiamo imparare. Ad essere onesti, non sarai eccezionalmente bravo in tutte, perché sono troppe.

La chiave per uno sviluppo più rapido, anche se non sei bravo in tutte le aree del tuo progetto, è non cercare di fare tutto da solo. Ho parlato di questo nel terzo articolo: Punto #05 su come rendere il tuo progetto open source in modo che le persone possano condividere le loro opinioni su quel particolare progetto.

Ma quel processo stesso richiede esposizione (alcune persone potrebbero non averne bisogno) e potrebbe richiedere un po' di tempo prima che le persone inizino a contribuire, specialmente se le persone che si sono imbattute in esso non fossero molto interessate.

Supponendo che tu voglia finirlo molto velocemente, il modo migliore potrebbe essere assumere qualcuno come freelance. Il punto qui è che assumi qualcuno che lavori come partner (per aiutarti in aree in cui non sei un esperto).

Per esempio.

Personalmente, non sono bravo nel campo degli indicatori. Capisco a malapena i buffer e altri tipi di cose riguardanti gli indicatori poiché non ne sono un fan (a causa di problemi personali) ma sono un esperto di consiglieri esperti, script e molte altre cose. Se succede nel mio progetto che sento di aver bisogno di un indicatore, dovrò assumere qualcuno che lo faccia per me e io farò il resto.

Se il progetto è grande, scomponilo in sezioni e assumi più sviluppatori. Più sviluppatori freelance sono coinvolti, più velocemente lo farai.

Questo metodo è piuttosto costoso ma ne vale la pena. Credo che sia probabilmente il modo più veloce di tutti. Questo è il motivo per cui le aziende tecnologiche o innovative non assumono mai un programmatore (a volte nemmeno meno di 1000), perché comprendono questo principio.


08: La qualità non è costante

Invece di affrettarti a finire il progetto, devi considerare che ciò che è necessario alla fine della giornata è un BUON PRODOTTODI QUALITÀ.

Un prodotto di scarsa qualità non è la fine del lavoro, in quanto ci richiederà sempre di apportare alcuni miglioramenti col passare del tempo e quindi il lavoro non finirà.

Prima di procedere al passaggio successivo, assicurati di realizzare una migliore implementazione di codice e idee, buona architettura, design, codice privo di bug, ecc. In modo che una volta terminato, non ci sarà più bisogno di tornare indietro.

Il processo di creazione di un prodotto di alta qualità potrebbe sembrare lento ma non lo è e ciò di cui la maggior parte degli sviluppatori non si rende conto è che un codice scadente e una cattiva architettura ci perseguiteranno sempre nel volerlo migliorare.

PRODOTTO DI BUONA QUALITÀ non significa che sia un Santo Graal, significa in breve

  • Fatto come previsto
  • Nessun bug
  • Ben progettato, strutturato e spiegato chiaramente
  • Facile da usare e facile da passare a un altro

Sono pienamente d'accordo con "Robert C. Uncle Bob " quando dice

"L'unico modo per andare veloce è andare bene. Ogni volta che cedi alla tentazione di scambiare qualità per velocità, rallenti. Ogni volta".


09: Abbi sempre una scadenza

Se la partita di calcio non avesse fine, cosa accadrebbe ai giocatori?

Non ci saranno né entusiasmo né fatica, il gioco non sarà divertente e non ci sarà alcun gioco!

Ci deve essere una fine a tutto ciò che stiamo facendo nella vita in modo che possiamo essere seri al riguardo.

Una volta che hai pianificato il tuo lavoro, imposta una scadenza per quando vuoi che il progetto sia pronto. La scadenza verrà utilizzata anche per misurare la tua velocità di codifica una volta raggiunta la fine del progetto.

Inoltre, impostare una scadenza è segno che sei uno sviluppatore maturo e mostra quanto sei serio nel finire un particolare progetto.

C'è una scadenza per qualsiasi lavoro in Freelance (non rigorosamente imposto però) e devi fare la stessa cosa sui tuoi progetti, non deve essere perfetto ma avrai tempo per migliorare.

Ricorda

Se non c'è una scadenza non c'è nemmeno una fine del tuo progetto.


10: Conosci il tuoi momenti picco

Ognuno ha il suo momento di picco; i momenti in cui la produttività e l'apprendimento sono di alto livello. Potrebbe essere in determinati giorni della settimana o in determinate ore del giorno. Ciò è dovuto al fatto che il nostro cervello si trova in stati diversi. Ad esempio, le mie ore più produttive sono dalle 4:00 quando mi sveglio fino alle 7 o 8 circa. Quelle sono le ore che uso per imparare cose nuove e svolgere compiti difficili.

Per altri, potrebbe essere la mattina, il pomeriggio, la mezzanotte, ecc. Trova le tue ore produttive e usale in modo efficace per portare avanti il tuo progetto.

Lavorare in queste ore più produttive può essere ottimo per coloro che sono impegnati a fare altre cose come andare al lavoro e hanno poco tempo per lavorare ai loro progetti di programmazione.


11: La riflessione è la chiave

Devi prenderti il tempo necessario per ispezionare il tuo codice. Lo scopo di fare questo è assicurarsi che stai imparando dai tuoi errori in modo da non ricaderci la prossima volta e sprecare il tuo tempo sullo stesso errore che hai commesso prima e risolto con successo.

Elimina i punti ciechi nell'ambito della tua applicazione; A volte devi fidarti del tuo istinto. Quando hai implementato qualcosa e senti di non capirla, devi indagare sul fatto che potrebbe essere vero oppure, hai implementato qualcosa e ritieni che non sia il modo migliore per implementarla.


12: Misura oggettivamente

Considera di fare un autoesame dettagliato mentre lavori per un paio di giorni, analizza le tue attività e chiediti, dove va il mio tempo?

Diciamo che ti rendi conto che la maggior parte del tuo tempo è dedicato alla lettura del codice piuttosto che alla scrittura del codice. Quindi devi imparare a leggere il codice più velocemente.


13: Esplora al di fuori del tuo lavoro

Vorrei chiamarlo un Riscaldamento Gli sportivi lo fanno nelle loro carriere, possiamo farlo anche noi.

Mentre non stai lavorando al tuo progetto, esplora nuove librerie, indicatori, script, strumenti e tecniche per aumentare la tua produttività.

Puoi lavorare su progetti Open Source che sono in qualche modo simili al tuo progetto o che hanno molti aspetti in comune.

Questo ti preparerà per il progetto vero e proprio, se lo fai bene noterai che il tuo progetto sta diventando più facile di prima e la tua velocità aumenterà inevitabilmente.


14: Test più veloci

Il test è una delle aree cruciali in cui devi essere bravo poiché testerai moltissimo dopo aver scritto alcuni nuovi blocchi di codice per assicurarti che tutto funzioni come previsto.

Oltre alla scrittura e alla lettura del codice, il test è l'area in cui la maggior parte del nostro tempo verrà sprecato a meno che non si sbagli.

Il test dei tuoi programmi potrebbe in qualche modo dipendere dalle risorse hardware sul tuo PC e da diverse configurazioni software.

Ad esempio, (con impostazioni specifiche) se la tua CPU ha 5 core, non aspettarti di testare velocemente come qualcuno con 7 core o 9 core. Per non parlare di altri fattori come la memoria, l'impostazione del Tester di strategia, la configurazione degli Agenti e il Programma che stai testando.

Questo è un argomento enorme da trattare in questo articolo, ti consiglierei di imparare da tutte le fonti di seguito

Di seguito, sono riportati alcuni semplici suggerimenti su come testare più velocemente.

UNCHECK Modalità visiva con i grafici di visualizzazione Indicatori e operazioni Casella di controllo.

NOTA: deseleziona questa casella per nascondere tutte le operazioni che sei abituato a vedere sul grafico durante il test. Fai questo se sei già sicuro (sai) di come sta lavorando il tuo programma in background.

SCEGLI Opzione modello su Solo prezzi aperti

NOTA: questo metodo è per EA che controllano esplicitamente l'apertura della barra. Per qualche motivo, questo metodo non funziona in segnali multi-simbolo e multi-time frame che estraggono gli EA. Potresti ricevere CopyRates errori e RICHIESTA TIMEFRAME ERRATA in modalità Prezzi aperti.

VERIFICA Profitto in Pips per calcoli più rapidi Casella di controllo

NOTA: tutti i profitti/perdite delle operazioni saranno in pip effettivi, non in denaro.

Per farla breve.

Test MT5 più veloci

Il modo più veloce per testare/ottimizzare le tue strategie su macchine potenti senza il fastidio di configurare tutto e senza doversi preoccupare delle risorse hardware del tuo PC, è utilizzare la MQL5 Cloud Network.


Conclusione

Ti auguro tutto il meglio nel tuo viaggio per diventare un buono sviluppatore, questo è tutto per questo articolo. Se hai dei suggerimenti che vuoi condividere con me o altri, sentiti libero di aggiungerli alla sezione di discussione di questo articolo.

Grazie per aver letto.


Tradotto dall’inglese da MetaQuotes Ltd.
Articolo originale: https://www.mql5.com/en/articles/9840

Programmatore Migliore (Parte 06): 9 abitudini che portano a una codifica efficace Programmatore Migliore (Parte 06): 9 abitudini che portano a una codifica efficace
Non si tratta sempre di scrivere il codice che porta a una codifica efficace. Ci sono alcune abitudini che ho trovato nella mia esperienza che portano a una codifica efficace. Ne discuteremo alcuni in dettaglio in questo articolo. Questo è un articolo da leggere per ogni programmatore che vuole migliorare la propria capacità di scrivere algoritmi complessi con meno problemi.
La matematica nel trading: rapporti di Sharpe e Sortino La matematica nel trading: rapporti di Sharpe e Sortino
Il ritorno sugli investimenti è l'indicatore più ovvio che gli investitori e i trader principianti utilizzano per l'analisi dell'efficienza del trading. I trader professionisti utilizzano strumenti più affidabili per analizzare le strategie, come i rapporti di Sharpe e Sortino, tra gli altri.
Programmazione di una rete neurale profonda da zero utilizzando il linguaggio MQL Programmazione di una rete neurale profonda da zero utilizzando il linguaggio MQL
Questo articolo ha lo scopo di insegnare al lettore come creare una rete neurale profonda da zero utilizzando il linguaggio MQL4/5.
Programmatore Migliore (Parte 04): Come diventare uno sviluppatore più veloce Programmatore Migliore (Parte 04): Come diventare uno sviluppatore più veloce
Ogni sviluppatore vuole essere in grado di scrivere codice più velocemente, ed essere in grado di programmare in modo più rapido ed efficace non è un tipo di abilità speciale con cui solo poche persone sono nate. È un'abilità che può essere appresa da ogni programmatore, indipendentemente dagli anni di esperienza sulla tastiera.