Discussão do artigo "Conselhos de um programador profissional (Parte I): Armazenamento, depuração e compilação de códigos Trabalho com projetos e registros"

 

Novo artigo Conselhos de um programador profissional (Parte I): Armazenamento, depuração e compilação de códigos Trabalho com projetos e registros foi publicado:

Conselhos de um programador profissional sobre métodos, técnicas e ferramentas auxiliares para tornar a programação mais fácil.

Os arquivos de programa do terminal estão localizados no diretório MQL5. Este catálogo é chamado de "sandbox". O acesso ao exterior está fechado. E assim é como deve ser. Porém, se conectarmos nossa DLL, provavelmente poderemos entrar em qualquer lugar.

Por exemplo, a estrutura do projeto Cayman:

  • /Experts/Cayman/ - Expert Advisor
  • /Files/Cayman/ - arquivos de dados (configurações, parâmetros)
  • /Include/Cayman/ - biblioteca de classes (funções)
  • /Scripts/Cayman/ - scripts principais (de combate)
  • /Scripts/CaymanDev/ - scripts de desenvolvedor (para depuração)

As principais vantagens deste posicionamento:

  • Pesquisa contextual apenas em arquivos de projeto com TotalCommander
  • Controle de versão via Git (acompanhar apenas arquivos de projeto, ignorar o resto)
  • Simplifica a cópia para outro terminal (demo -> real - versão)

Autor: Malik Arykov

 

Obrigado. Artigo bom e útil.

 
Interessante) Anexei minha biblioteca com um link. Tenho seis terminais diferentes e é muito inconveniente quando cada terminal tem sua própria cópia da biblioteca. Mas aqui ela é sempre a mesma para todos os terminais. Você usa o arquivo .gitattributes? E, se sim, de que forma?
 
Bom artigo. Eu costumava sempre arrastar meus documentos para um disco que não fosse do sistema, por precaução).
 

O Bitbucket tem seu próprio rastreador de bugs bastante normal por padrão, você não precisa iniciar um externo.

Os links são para amadores, é mais fácil trabalhar em um repositório, então a questão sobre o número de cópias simplesmente não surge

Opinião interessante sobre editores externos, especialmente levando em conta o amor do autor por scripts

 
Andrei Novichkov:
Você usa o arquivo .gitattributes? E se sim, de que forma?

Não o utilizo, pois não há necessidade. Não me importo com arquivos binários (incluindo imagem, docx) e seus deltas. Só me importo com os textos de meus programas e seu histórico.

 
Andrei Trukhanovich:

O Bitbucket tem seu próprio rastreador de bugs bastante normal por padrão, você não precisa iniciar um externo.

Os links são para amadores, é mais fácil trabalhar em um repositório, então a questão sobre o número de cópias simplesmente não surge

Opinião interessante sobre editores externos, especialmente levando em conta o amor do autor por scripts

1) Um quadro kanban não é um rastreador de bugs. Posso gerenciar tarefas de vários repositórios (MQL4, MQL5, WebSite) do projeto Cayman em um único quadro.

2) Entendi corretamente que, se eu tiver dois terminais com o mesmo conteúdo MQL5 , cada MQL5 terá um repositório local e um repositório comum na nuvem. Se for esse o caso, vamos imaginar a situação. Você faz alterações em um MQL5 e deseja aplicá-las ao segundo MQL5. Suas ações:

  • enviar a primeira MQL5 - confirmar a versão na nuvem
  • puxar a segunda MQL5 - atualizar a versão.

Por que tantas etapas?

3) Gosto de conforto - fazer muito trabalho com um clique em um script. O NPP me dá o conforto de destacar os registros. Por exemplo, aqui destaquei meu registro no NPP para exemplificar. E o destaque de linhas com tokens //, Error, todo é automático, porque está escrito na sintaxe de arquivos com extensões *.txt, *.log

realce de registros

 

Também há plug-ins gratuitos com kanban no bitbucket.

Malik Arykov:

    Por que se dar a tanto trabalho?

    Porque é a coisa certa a fazer.

    Terminais diferentes - instâncias diferentes, sem mencionar que um terminal pode estar funcionando em um segundo terminal para depuração e que os terminais podem diferir radicalmente nas configurações do instrumento e nas condições de negociação.

    Além disso, há nuances em que o terminal capta novas versões compiladas (é melhor não compilar o código se ele estiver sendo executado no terminal agora).

    É estranho começar a falar sobre repositórios e depois sugerir o uso de links simbólicos, embora, é claro, eles possam ser úteis em determinadas situações.

     
    Andrei Trukhanovich:

    É estranho começar a falar sobre repositórios e depois sugerir o uso de links simbólicos, embora, é claro, eles também possam ser úteis em determinadas situações.

    Bem, os links olham para o mesmo repositório local (um MQL5 (*.mq?, *.ex?) para todos os terminais).

    Ao mesmo tempo, cada terminal tem suas próprias peculiaridades. Por exemplo, tenho o AppSettings.txt, parâmetros de analisadores, configurações de terminal etc. (especificados em .gitignore). (especificados em .gitignore)

    Em cada (qualquer) terminal, você pode chamar "Edit" e ter certeza de que está corrigindo o mesmo código.

     
    Malik Arykov:

    Em cada terminal (qualquer um), você pode chamar "Edit" e ter certeza de que está corrigindo o mesmo código.

    Isso é exatamente o que é assustador).

    mas o chefe é o chefe.

     

    O Git agora tem repositórios privados.

    O Git Desktop nativo reconhece os arquivos mq4/mqh como binários. Mesmo que eu especifique diff nos atributos, não está claro como ver as alterações no aplicativo. Quais são algumas soluções para comparar versões de arquivos de forma conveniente?

    ----

    Se você salvar arquivos no MTEditor em codificação UTF-8, poderá ver as comparações por meio do Git Desktop